반응형
C의 파일 끝에 추가
파일 myfile의 내용을 추가하려고 합니다.txt를 두 번째 파일 myfile2의 끝에 추가합니다.txt (c)내용을 복사할 수 있지만 추가할 방법을 찾을 수 없습니다.제 코드는 다음과 같습니다.
FILE *pFile;
FILE *pFile2;
char buffer[256];
pFile=fopen("myfile.txt", "r");
pFile2=fopen("myfile2.txt", r+);
if(pFile==NULL) {
perror("Error opening file.");
}
else {
while(!feof(pFile)) {
if(fgets(buffer, 100, pFile) != NULL) {
fseek(pFile2, -100, SEEK_END);
fprintf(pFile2, buffer);
}
}
fclose(pFile);
fclose(pFile2);
fseek을 올바르게 사용하고 있다고는 생각하지 않지만, fseek를 호출하여 파일 끝에 포인터를 놓고 파일 선두가 아닌 포인터 위치에 쓰려고 합니다.이것이 올바른 접근법입니까?
추가로 열기:
pFile2 = fopen("myfile2.txt", "a");
그럼 그냥 편지해pFile2
,그럴 필요 없어요.fseek()
.
의 매뉴얼에 따라fopen
:
"a" 쓰기 위해 열려 있습니다.파일이 존재하지 않는 경우 생성됩니다.스트림은 파일 끝에 위치합니다.파일에 대한 후속 쓰기는 개입 fseek(3) 또는 이와 유사한 것에 관계없이 항상 파일의 그 당시 끝에 있게 된다.
그래서 만약 당신이pFile2=fopen("myfile2.txt", "a");
스트림이 자동으로 추가되도록 끝에 배치됩니다.다음 작업을 수행합니다.
FILE *pFile;
FILE *pFile2;
char buffer[256];
pFile=fopen("myfile.txt", "r");
pFile2=fopen("myfile2.txt", "a");
if(pFile==NULL) {
perror("Error opening file.");
}
else {
while(fgets(buffer, sizeof(buffer), pFile)) {
fprintf(pFile2, "%s", buffer);
}
}
fclose(pFile);
fclose(pFile2);
언급URL : https://stackoverflow.com/questions/19429138/append-to-the-end-of-a-file-in-c
반응형
'programing' 카테고리의 다른 글
Vue.js 2 어플리케이션에서 onbeforeunload를 모방하려면 어떻게 해야 합니까? (0) | 2022.08.30 |
---|---|
Vue: 사용자 지정 구성 요소에서 파생된 사용자 지정 구성 요소에서 v-model 및 입력 이벤트 (0) | 2022.08.30 |
Vue 라우터 Auth-guard 함수가 Vuex 스토어 상태를 확인하지 않음 (0) | 2022.08.30 |
java.displaces를 클릭합니다.날짜 vs java.sql.날짜. (0) | 2022.08.30 |
vue-cli를 사용하지 않고 typescript/vue-router/vuex/를 사용하여 vue.js3 앱을 생성하는 방법 (0) | 2022.08.30 |