[問題] fopen同一檔案,同一位置讀出再寫入.已解決
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
我想在同一檔案,讀出一串字串,然後在該字串
後面附加新的資料,寫回同一行。
例: File:123.TXT
內容: ABC,EFT
CDEF,WEQ
希望得到的正確結果:
新資料:123.567
9812.1212
附加後的123.TXT
內容: ABC,EFT,123.567
CDEF,WEQ,9812.1212
程式跑出來的錯誤結果:
無法附加!!!
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
純C (Dev-C++)
有問題的code: (請善用置底文標色功能)
#include <stdio.h>
#include <string.h>
main()
{
FILE *fp,*fp2,*fp3;
char file1[512]="",file2[512]="",file3[512]="";
char str1[2048]="",str2[2048]="",str3[2048]="";
char *str21,*str22;
double New_Value[2]={123.567,9812.1212};
sprintf(file2,"%s","D:/123.TXT");
fp2=fopen(file2,"r+");
fscanf(fp2,"%s", &str1);
sprintf(file3,"%f",New_Value[1]);
str22=&file3;
fputs(str22,fp2);
fclose(fp2);
system("pause");
}
補充說明:
我對C的觀念有點糟~麻煩各位幫幫忙~感謝~~~
****** 這不是作業 *********
+++++++++++++++++++++++ 感謝 gemhung 的幫忙 +++++++++++++++++++
修改後的CODE
#include <stdio.h>
#include <string.h>
main()
{
FILE *fp,*fp2,*fp3;
char file1[512]="",file2[512]="",file3[512]="";
char str1[2048]="",str2[2048]="",str3[2048]="";
char *str21,*str22;
double New_Value[2]={123.567,9812.1212};
sprintf(file2,"%s","test.txt");
fp2=fopen(file2,"r+");
fscanf(fp2,"%s", str1);
sprintf(file3,"%f",New_Value[1]);
str22=file3;
fputs(str22,fp2);
fclose(fp2);
system("pause");
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.218.110.180
※ 編輯: m9556 來自: 61.218.110.180 (06/25 17:55)
推
06/25 18:13, , 1F
06/25 18:13, 1F
→
06/25 18:14, , 2F
06/25 18:14, 2F
推
06/25 19:05, , 3F
06/25 19:05, 3F