coredump в строковом назначении - PullRequest
0 голосов
/ 18 августа 2011

Я хочу знать сценарий, в котором можно получить ошибку сегментации, когда мы пытаемся выполнить функцию 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?

Мне нужен ответ для этого

Ответы [ 2 ]

0 голосов
/ 18 августа 2011

Полагаю, вы, вероятно, получите неопределенное поведение (которое может проявиться как ошибка сегмента), если "one.txt" содержит строку длиннее, чем может поместиться в памяти. Количество символов, читаемых getline(), ограничено max_size() объекта string, но это может быть довольно большим.

0 голосов
/ 18 августа 2011

возможно ли получить ошибку сегментации на основе содержимого файла?

Это вряд ли возможно, если ваш код не имеет неопределенного поведения - иначевсе возможно, включая ошибку сегментации.Стандартная библиотека C ++ используется многими людьми.Он хорошо протестирован и выполняет проверку ошибок входных значений.

...