파일에서 텍스트를 읽고 문자열에 추가하는이 함수는 이제 이상한 것은 짧은 텍스트 인 경우 잘 작동한다는 것입니다. 그러나 문자열이 길어지면 문자열이 비어 지므로이 문제를 해결하는 데 도움이됩니다.파일에서 텍스트를 읽는 데 문제가 있습니다.
0
A
답변
6
1) 루프를 제어하기 위해 eof()
을 사용하지 마십시오. getline
을 루프 상태에 직접 넣으십시오. 이 작업을 수행하는 데 문제가 있으면 StackOverflow를 검색하십시오.
2) while 루프에는 중괄호가 없으므로 오해의 여지가있는 들여 쓰기에도 불구하고 getline
행만 처리합니다.
3) getline
은 개행을 삭제합니다. 마지막 문자열이 잘못 될 것입니다.
4) 실제로보고있는 실제 동작은 getline
이 문자열로 반환하는 마지막 항목 만 추가한다는 사실에서 비롯됩니다. 파일에 한 줄의 텍스트가 포함되어 있고 줄 바꿈으로 끝나지 않으면이 방법이 효과가있는 것 같습니다. 행이 더 많지만 개행 문자로 끝나지 않으면 마지막 행만 가져옵니다. 파일이 개행 문자로 끝나는 경우, 잘못된 루프 조건으로 인해 getline
에 대한 마지막 호출은 실제로 문자열의 내용이 될 빈 문자열을 제공합니다.
0
파일이 존재하는 경우
while(!filen.eof())
{
getline(filen, temp);
filString.append(temp);
}
0
사용 "() IS_OPEN"와
while(!filen.eof())
getline(filen, temp);
filString.append(temp);
확인할 교체 : 당신은 다른 절을하지 않아도 //
if(! filen.is_open()){...}
을
... while 루프에는 중괄호가 있어야하며 그렇지 않으면 getline (...) instructio 만 실행합니다. N : 파일이 '\ n을'로 끝나는하지 않는 경우
while(filen.good()) {
getline(filen , temp);
filString += (temp + '\n');
}
은 데이터가 문자열의 중간에 분산 된 새로운 라인이없는 문자열
관련 문제
- 1. 파일에서 읽는 데 문제가 있습니다.
- 2. AppleScript : 파일에서 읽는 데 문제가 있습니다.
- 3. .txt 파일에서 입력을 읽는 데 문제가 있습니다.
- 4. 파일에서 다음 줄을 읽는 데 문제가 있습니다.
- 5. 자바 : 파일에서 읽는 데 문제가 있습니다.
- 6. DB에서 읽는 데 문제가 있습니다.
- 7. 파이썬에서 텍스트 파일을 읽는 데 문제가 있습니다.
- 8. Csv 파일에서 C++로 작성한 후 읽는 데 문제가 있습니다.
- 9. 파일에서 두 개의 행을 읽는 데 문제가 있습니다. C++
- 10. 파일에서 읽는 중 및 배열에 쓰는 데 문제가 있습니다
- 11. 텍스트 파일에서 생성 된 struct 유형을 읽는 데 문제가 있습니다.
- 12. 입력 파일에서 개별 문자를 읽는 데 문제가 있습니다.
- 13. 이 C# 코드를 읽는 데 문제가 있습니다.
- 14. 텍스트 파일을 읽는 데 문제가 있습니다
- 15. ffmpeg에서 출력을 읽는 데 문제가 있습니다.
- 16. procfile 끝까지 읽는 데 문제가 있습니다
- 17. C# 표준 출력을 읽는 데 문제가 있습니다.
- 18. Qt : .txt 파일을 읽는 데 문제가 있습니다.
- 19. while 루프가 문자열을 읽는 데 문제가 있습니다.
- 20. pymodbus로 PLC에서 읽는 데 문제가 있습니다
- 21. 자바 스크립트 코드를 읽는 데 문제가 있습니다.
- 22. Gedit으로 긴 줄을 읽는 데 문제가 있습니다.
- 23. pyExcelerator에서 일부 파일을 읽는 데 문제가 있습니다.
- 24. 파일 한 줄씩 읽는 데 문제가 있습니다.
- 25. 키 이벤트를 읽는 데 문제가 있습니다. (newby)
- 26. AMD ISA 코드 읽는 데 문제가 있습니다.
- 27. 다차원 배열에서 값을 읽는 데 문제가 있습니다.
- 28. kinect에 해골을 읽는 데 문제가 있습니다.
- 29. xslt에서 텍스트를 표시하는 데 문제가 있습니다.
- 30. javaFX를 사용하여 텍스트를 정렬하는 데 문제가 있습니다.
검사에서 마지막 문자를 제거합니다. – bjackfly