ios ::에 존재하지 않는 파일에 fstream을 열 수 있습니까? & ios :: out 오류가 발생하지 않고 있습니까?존재하지 않는 파일에 fstream 들어갔다 밖으로
답변
#include <iostream>
#include <fstream>
using namespace std;
int main() {
fstream f("test.txt", fstream::in | fstream::out);
cout << f.fail() << endl;
f << "hello" << endl;
f.close();
return 0;
}
이 코드는 1
를 인쇄하고 그것을 종료하지 않는 경우, "TEST.TXT"파일을 생성하지 않습니다. 따라서 오류가 발생하지 않고 존재하지 않는 파일을 열고 fstream하는 것은 불가능합니다.
"filestr.fail) "및"filestr << "hello"<< endl; "?! – Secko
@Secko 예, 고마워요. –
#include <fstream>
ofstream out("test", ios::out);
if(!out)
{
cout << "Error opening file.\n";
return 1;
}
ifstream in("test", ios::in);
if(!in)
{
cout << "Error opening file.\n";
return 1;
}
오류가 발생하면 메시지가 표시되고 하나가 반환됩니다. 그러나 ofstream out("test", ios::out);
및 ifstream in("test", ios::in);
을 오류없이 컴파일하고 실행할 수 있습니다. 어느 쪽이든 파일 시험이 생성됩니다.
업데이트 : 파일상의 fstream
를 열려면 오류를받지 않고 입력 및 출력 (랜덤 액세스) 존재하지 않습니다, 당신은 open
(또는 생성자) 호출에 fstream::in | fstream::out | fstream::trunc
을 제공해야한다. 파일이 아직 존재하지 않으므로 파일을 0 바이트로 자르는 것은 드라마가 아닙니다. 조기 실패하는 것이 좋습니다 있도록 스트림에서 읽을 수 없을 것이기 때문에 만ios::in
를 지정할 때 존재하지 않는 파일을 열 때
당신 은 오류를 원하는 것입니다.
그렇다면 fstream 클래스의 객체를 통해 존재하지 않는 파일을 열면 오류가 발생하지 않는 이유는 무엇입니까? 예 : fstream myfile; myfile.open ("this_file_doesn't_exist.txt"); // 아무런 오류도 발생시키지 않습니다. – Ketcomp
std::fstream f("test.txt", std::ios_base::out);
f.close(); //file now exists always
f.open("test.txt", fstream::in | std::ios_base::out);
//f is open for read and write without error
오류없이 열리라는 것을 보장하기 위해 체크하지 않았지만, 나는 그것이해야한다고 확신합니다.
- 1. Xerces C++ : 존재하지 않는 파일에 오류가 없습니다.
- 2. 존재하지 않는 PHP 파일에 대한 404 페이지
- 3. Netbeans 6.1 존재하지 않는 파일에 대한 CVS 상태가 올바르지 않음
- 4. 존재하지 않는 스타일 참조 찾기
- 5. 존재하지 않는 SQL 쿼리
- 6. 트리거에 존재하지 않는 경우
- 7. 존재하지 않는 열을 참조하십시오.
- 8. 존재하지 않는 요소 선택
- 9. ActiveRecord 존재하지 않는 곳
- 10. "디렉토리가 존재하지 않는 이유는 무엇입니까?"
- 11. Fstream 선언
- 12. C++ 체크섬 존재하지 않는 개행 읽기
- 13. fstream reading misstake
- 14. rpmbuild spec 파일 존재하지 않는 파일을 무시합니다.
- 15. 존재하지 않는 날짜의 되풀이 날짜
- 16. 존재하지 않는 메소드가 Perl을 호출합니다.
- 17. "존재하지 않는 경우 추가"jQuery
- 18. 경로가 존재하지 않는 파일 만들기?
- 19. IF 존재하지 않는 이유는 무엇입니까?
- 20. 이 아닌 존재하지 않는 파일을
- 21. Nhibernate에 존재하지 않는 열의 매핑
- 22. 존재하지 않는 서블릿 예외 처리
- 23. 헤더가 존재하지 않는 페이지로 리디렉션됩니까?
- 24. 존재하지 않는 디렉토리로 JFileChooser 초기화하기
- 25. 존재하지 않는 3D 드라이버 시뮬레이션
- 26. 존재하지 않는 것을 골라 내십시오.
- 27. java.lang.IllegalArgumentException가 '_id'가 존재하지 않는 열
- 28. mod_rewrite 존재하지 않는 URL의 리디렉션
- 29. 존재하지 않는 필드가있는 CAML 쿼리
- 30. 이름 '행은'현재 컨텍스트에 존재하지 않는
답변을 수락하거나 답변을 시도했는지 여부를 알려주거나 (답변을 작성할 수 있도록 자세한 내용을 기입하십시오) –