c++ fopen 예제

By August 2, 2019Uncategorized

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

이 함수는 FILE 포인터를 반환합니다. 그렇지 않으면 NULL이 반환되고 전역 변수 errno가 오류를 나타내도록 설정됩니다. mode – 파일 액세스 모드를 포함하는 C 문자열입니다. 그것은 포함 – 파일을 여는 많은 모드가 있습니다. 파일 의 모드에 따라, 그것은 읽거나 쓰기 또는 텍스트를 추가할 수 있습니다. 그들은 아래에 나열되어 있습니다. 이식 가능한 디렉터리 및 파일 이름 지정의 경우 C++ 파일 시스템 라이브러리 또는 boost.filesystem성공하면 eof 및 오류 비트가 모두 지워진 열린 파일 스트림을 제어하는 개체에 대한 포인터를 반환합니다. 파일 이름이 대화형 장치를 참조하지 않는 한 스트림이 완전히 버퍼링됩니다. 쓰기를 위한 빈 파일을 만듭니다. 이름이 같은 파일이 이미 있는 경우 해당 콘텐츠가 지워지고 파일이 새 빈 파일로 간주됩니다.

읽기와 쓰기를 모두 업데이트할 파일을 엽니다. 파일이 있어야 합니다. 오류가 발생하면 null 포인터를 반환합니다. POSIX는 이 경우 errno가 설정되어 있어야 합니다. 위의 동작은 예기치 않은 결과를 초래할 수 있습니다. 프로그래머의 의도가 새 파일을 만들고 이름이 같은 파일이 이미 있는 경우 기존 파일의 내용을 덮어씁니다. 어디, fp – 데이터 유형 “FILE”에 대한 파일 포인터. 파일 이름 – 파일의 전체 경로가 있는 실제 파일 이름입니다. 모드 – 파일에서 수행될 작업을 나타냅니다.

예: r, w, a, r+, w+ 및 a+. 이러한 작업 모드에 대한 설명은 아래를 참조하십시오. 파일 이름 형식은 구현 정의이며 반드시 파일을 참조하지는 않습니다(예: 파일 시스템 API를 통해 액세스할 수 있는 콘솔 또는 다른 장치일 수 있음). 이를 지원하는 플랫폼에서파일 이름에는 절대 또는 상대 파일 시스템 경로가 포함될 수 있습니다.