programing

C에서 파일의 전체 내용을 지우려면 어떻게 해야 합니까?

codeshow 2023. 10. 4. 23:04
반응형

C에서 파일의 전체 내용을 지우려면 어떻게 해야 합니까?

user1의 데이터 일부가 포함된 파일이 있습니다.파일 내용을 지워서 user2에 동일한 파일을 사용하고 싶습니다.

제 생각은 새로운 사용자가 왔을 때 이전 사용자의 데이터가 명확해야 하고 새로운 사용자를 위해 같은 파일이 준비되어야 한다는 것입니다.

@stefan이 말했듯이fopen()w 모드를 사용하면 작업을 수행할 수 있습니다.w 플래그가 있는 파일을 열면 쓰기 위한 빈 파일이 생성됩니다.같은 이름의 파일이 이미 존재하는 경우 내용이 지워지고 파일은 빈 새 파일로 처리됩니다.

파일이 이미 열려 있으면 사용할 수 있습니다.freopen()stdio에서 기능합니다.h는 "w" 모드로 파일을 먼저 닫고 파일에 있던 것을 삭제하기 위해 다시 엽니다.

와 함께fopen(filename, flag)그냥 플래그로 열어보세요="w"아니면"wb"그리고 그것은 해결될 것입니다.

fclose(fopen("file.txt", "w"));

작동하는 이유:

write: 출력 작업을 위해 빈 파일을 만듭니다.이름이 같은 파일이 이미 있으면 내용이 삭제되고 파일은 새 빈 파일로 처리됩니다.

(http://www.cplusplus.com/reference/cstdio/fopen/) 에서 quote합니다.

두 가지 방법이 있습니다.

1. fd=open(filename,O_RDONLY | O_WRONLY | O_TRUNC);


2. [cat /dev/null > filename] for BASH. It can be directly used in c program using [system()] system call. 

   system("cat /dev/null > filename");   

사용 중인 항목

fp=freopen(NULL,"w",fp);

나는 다음을 사용하는 것을 선호합니다:-

system("echo "" > filename_with_complet_path");

언급URL : https://stackoverflow.com/questions/4815251/how-do-i-clear-the-whole-contents-of-a-file-in-c

반응형