gpt4 book ai didi

c++ - 如何为空字符串大小写添加错误检查

转载 作者:行者123 更新时间:2023-11-30 04:32:18 25 4
gpt4 key购买 nike

检查丢失的文件或错误输入的文件名时出现错误...但是没有 file_name,即字符串 file_name 为空,我收到错误

terminate called after throwing an instance of 'std::logic_error'

然后 Windows 也向我抛出一个错误。

我的猜测是在创建 ifstream 类型的实例之前在 file_name.str() 添加一个空字符串检查...但只是想检查一下。

void file_to_string(string file_name)
{
string line;
ifstream myfile(file_name.c_str());
if (myfile.is_open())
{
while (myfile.good())
{
getline(myfile, line);
cout << line;
}
myfile.close();
}
else
{
cout << "File : " << file_name << " : did not open";
}
}

int main(int argc, char* argv[])
{
file_to_string(argv[1]);
}

最佳答案

如果您根本不提供参数,那么argv 将只包含一个字符串,argv[1] 将无效。在您尝试访问它之前,您必须检查一下:

int main(int argc, char* argv[])
{
if (argc != 2) {
std::cerr << "Usage: " << argv[0] << " filename\n";
return EXIT_FAILURE;
}
file_to_string(argv[1]);
}

没有特别需要检查字符串是否为空;如果是,则该文件将无法打开,就像打开任何其他无效文件名一样,您的代码已经处理了该问题。

关于c++ - 如何为空字符串大小写添加错误检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7770502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com