그래, getline에 문제가 있습니다.C++ ifstream 멤버에 getline을 올바르게 사용하려면 어떻게해야합니까?
몇 개의 문자열이 포함 된 파일이 있습니다. 나는 혼자서 그것을 만들었고 나는 각 줄을 별개의 줄로 만들었다.
Ex. textfile.txt
Line 1
Line 2
Line 3
Line 4
//Little snip of code
ifstream inFile("textfile.txt");
getline(inFile, string1);
프로그램을 디버그하여 string1을 출력하도록 요청하면 "줄 1 \ r"이 string1에 저장되었음을 나타냅니다. 나는 그것이 파일을 만들 때 실제적으로 입력을 때리는 것이란 것을 이해합니다. 이 문제는 내 프로그램 세그먼트 화 오류가 발생합니다. 나는 ofstream을 사용하여 파일을 먼저 작성한 다음 그것을 읽으면 내 코드가 작동한다는 것을 안다.
그래서 내 질문에 대해서는 어쨌든 getline 함수를 사용하지 않고 이스케이프 시퀀스 \ r을 사용하고 있습니까? 내가 분명하지 않다면 알려주세요.
문제가 무엇인지 파악하기 위해 여기에 코드가 충분하지 않습니다. – msw
더 큰 코드 샘플을 볼 수 있습니까? – RobS
디버거에서 sd :: strings을 검사하는 경우 문자열 끝 부분에 "추가"문자가있을 수 있습니다. 문자열의 특성상 버그가 아닌 것으로 예상됩니다. 검사 할 때 문자열의 size()를 고려하십시오. –