c++ fopen 예제

C에서 fopen()는 다른 모드에서 파일을 여는 데 사용됩니다. 쓰기 모드에서 파일을 열려면 „w“가 지정됩니다. 모드 „w“를 지정하면 출력 작업에 대한 빈 파일이 생성됩니다. 참조: fopen() 및 파일 생성에 대한 가정을 하지 마십시오 http://en.wikipedia.org/wiki/C11_(C_standard_revision) http://www.cplusplus.com/reference/cstdio/freopen/ C 라이브러리 함수 FILE *fopen(const char *file name, const char *mode) )을 사용하여 파일 이름으로 가리키는 파일 이름을 엽니다. 파일이 이미 있는 경우 어떻게 해야 합니까? 이름이 같은 파일이 이미 있는 경우 해당 내용은 삭제되고 파일은 새 빈 파일로 처리됩니다. 예를 들어 다음 프로그램에서 „test.txt“가 이미 존재하는 경우 해당 콘텐츠가 제거되고 „GeeksforGeeks“가 기록됩니다. 파일 * fp; fp=fopen(„파일 이름“, „모드“); 최신 C 표준 C11은 전용 만들기 및 열기 모드인 새로운 모드 „x“를 제공합니다. 모드 „x“는 „wx“, „wbx“와 같은 모든 „w“지정기와 함께 사용할 수 있습니다. w와 함께 x를 사용하면 fopen())은 파일이 이미 있거나 열 수 없는 경우 NULL을 반환합니다.

다음은 기존 파일을 덮어쓰지 않는 수정된 C11 프로그램입니다. 오류가 발생하면 null 포인터를 반환합니다. POSIX는 이 경우 errno가 설정되어 있어야 합니다. 어디, fp – 데이터 유형 „FILE“에 대한 파일 포인터. 파일 이름 – 파일의 전체 경로가 있는 실제 파일 이름입니다. 모드 – 파일에서 수행될 작업을 나타냅니다. 예: r, w, a, r+, w+ 및 a+. 이러한 작업 모드에 대한 설명은 아래를 참조하십시오. 쓰기를 위한 빈 파일을 만듭니다. 이름이 같은 파일이 이미 있는 경우 해당 콘텐츠가 지워지고 파일이 새 빈 파일로 간주됩니다. 파일 이름 형식은 구현 정의이며 반드시 파일을 참조하지는 않습니다(예: 파일 시스템 API를 통해 액세스할 수 있는 콘솔 또는 다른 장치일 수 있음). 이를 지원하는 플랫폼에서 파일 이름에는 절대 또는 상대 파일 시스템 경로가 포함될 수 있습니다.

이식 가능한 디렉터리 및 파일 이름 지정의 경우 C++ 파일 시스템 라이브러리 또는 boost.filesystem 파일 이름으로 표시된 파일을 열고 해당 파일과 연결된 파일 스트림을 반환합니다. 모드는 파일 액세스 모드를 결정하는 데 사용됩니다. 읽기와 쓰기를 모두 업데이트할 파일을 엽니다. 파일이 있어야 합니다. mode – 파일 액세스 모드를 포함하는 C 문자열입니다. 그것은 포함 – 파일을 여는 많은 모드가 있습니다. 파일 의 모드에 따라, 그것은 읽거나 쓰기 또는 텍스트를 추가할 수 있습니다. 그들은 아래에 나열되어 있습니다. 위의 동작은 예기치 않은 결과를 초래할 수 있습니다. 프로그래머의 의도가 새 파일을 만들고 이름이 같은 파일이 이미 있는 경우 기존 파일의 내용을 덮어씁니다. 이 함수는 FILE 포인터를 반환합니다. 그렇지 않으면 NULL이 반환되고 전역 변수 errno가 오류를 나타내도록 설정됩니다.

성공하면 eof 및 오류 비트가 모두 지워진 열린 파일 스트림을 제어하는 개체에 대한 포인터를 반환합니다. 파일 이름이 대화형 장치를 참조하지 않는 한 스트림이 완전히 버퍼링됩니다.