Ubuntu 11.04에서 NetBeans 6.9를 사용하여 C++로 개발 중입니다. I는 입력 및 출력 파일 이름 문자열을 선언하고 파일을 입력 파일 이름은 애플리케이션에 대한 입력 인수로서 기존 파일의 이름을 할당ifstream 출력을 위해 파일을 만들고 열지 않음
ifstream fpInputFile, fpOutputFile;
string inputFileName="", outputFileName="";
따라서 스트림. 출력 파일 이름은 "_output"이 마지막 기간 전에 삽입된다는 점을 제외하고는 입력 이름과 동일하게 지정됩니다. 따라서 출력은 입력이있는 디렉토리와 동일한 디렉토리에 기록됩니다. 또한
su netbeans
으로 netbeans를 시작하므로 IDE에 디렉토리에 대한 루트 권한이 있습니다. 파일을 열어서 파일이 열렸는지 확인하려고합니다.
fpInputFile.open(inputFileName.c_str(), ifstream::in);
fpOutputFile.open(outputFileName.c_str(), ifstream::out);
if (!(fpInputFile.is_open())) throw ERROR_OPENING_FILE;
if (!(fpOutputFile.is_open())) throw ERROR_OPENING_FILE;
입력 파일이 성공적으로 열리지 만 출력 파일은 열리지 않습니다.
왜 출력 파일이 쓰기 위해 열리지 않는지 확인하는 데 도움이 될 것입니다.
'ifstream'의 'i'는 입력을 의미하는 것을 알고 있습니까? – paxdiablo
아! 그것이 문제였습니다. 나는 내가 입을 열었다는 것을 깨닫지 못했다. 나는 그것을 o로 바꾸었고 문제가 해결되었습니다. 매우 감사합니다! – OtagoHarbour