나는 다음과 같은 코드가 수세 10.1에서 실행/G ++ 4.1.0가, 그리고 그것을 파일에 기록하지 않습니다 있습니다ofstream가 플러시하지 않습니다
#include <fstream>
#include <iostream>
int main(){
std::ofstream file("file.out");
file << "Hello world";
}
파일이 제대로 생성 및 개방 되나 비었다. 나는에 코드를 변경하는 경우 :
#include <fstream>
#include <iostream>
int main(){
std::ofstream file("file.out");
file << "Hello world\n";
}
을 (텍스트에 \n
추가), 그것을 작동합니다. ofstream도 플러시하려고했지만 작동하지 않았습니다.
제안 사항?
결과 파일을 어떻게 확인합니까? – log0
g ++ 4.4.4가있는 Debian/Sid의 프로그램이 예상대로 작동하고 file.out에 줄 바꿈없이 새 문자열이 들어 있습니다. 컴파일러 나 OS를 업데이트 해보십시오 - 두 버전 모두 구형입니다. – Dummy00001
파일이 비어 있는지 어떻게 확인하나요?결과 파일 wc에 대해 수행하고 출력 내용을 확인하십시오. 그것은 0 2 11. 0 라인, 2 단어, 11 문자이어야합니다. 개행 문자가 없으면 출력 "Hello world"가 프롬프트로 실행되어 누락 될 수 있습니다. –