我想知道当我们尝试使用getline()函数从文件中读取一行时可能出现分段错误的情况
例如:
ifstream h("one.txt");
string s;
getline(h,s); //what assignment to 'h' can lead to segmentaion fault here (or)
//is it possible to get the segmentation fault based on the content of the file?
我需要这个答案
答案 0 :(得分:0)
如果“one.txt”包含的行超过了可以放入内存的行,我想你可能会得到未定义的行为(可能显示为seg错误)。由getline()
读取的字符数受max_size()
对象的string
约束,但这可能非常大。
答案 1 :(得分:-1)
是否可以根据内容获取分段错误 文件?
假设您的代码没有未定义的行为,这几乎是不可能的 - 否则一切皆有可能,包括分段错误。标准C ++库被许多人使用。它经过了充分测试,可以对输入值进行错误检查。