std::fstream의 파일 생성 문제
질문:
std를 활용하는 경우: :fstream 파일 I/O용, 파일이 아직 존재하지 않는 경우 파일을 생성하려고 시도하는 동안 "해당 파일이나 디렉터리가 없습니다"라는 오류 메시지가 나타납니다. 특히 아래 코드 조각이 문제를 일으키고 있습니다.
<code class="cpp">std::fstream my_stream; my_stream.open("my_file_name", std::fstream::binary | std::fstream::in | std::fstream::out); if (!my_stream) std::cout << "error" << strerror(errorno);</code>
필요할 때 파일을 생성하려면 이 문제를 어떻게 해결해야 합니까?
답변:
모드 인수에 std::fstream::in이 지정된 경우 fstream::open() 함수에는 존재하지 않는 파일이 필요합니다. 문제를 해결하려면 모드 플래그에서 std::fstream::in을 제거하거나 기존 플래그와 함께 std::fstream::trunc를 추가하세요.
<code class="cpp">// Remove std::fstream::in std::fstream my_stream; my_stream.open("my_file_name", std::fstream::binary | std::fstream::out); // Add std::fstream::trunc std::fstream my_stream; my_stream.open("my_file_name", std::fstream::binary | std::fstream::in | std::fstream::out | std::fstream::trunc);</code>
위 내용은 파일을 생성할 때 `std::fstream::open()`에서 \"No Such File or Directory\" 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!