回覆列表
-
1 # 使用者2016443885395
-
2 # 藍風24
#include
#include
#include
int main()
{
FILE *fp = fopen("./test.txt","w+");
assert(fp);
#define LINE_MAX_CHAR 80
char buf[LINE_MAX_CHAR];
int n,i,j,start,len;
printf("請輸入需要輸入的行數 : ");
scanf("%d\n",&n);
do{
len = 0;
memset(buf, 0, sizeof(buf));
do{
scanf("%c",&buf[len++]);
}while(len
在C語言中,檔案操作都是由庫函式來完成的。 要讀取一個txt檔案,首先要使用檔案開啟函式fopen()。 fopen函式用來開啟一個檔案,其呼叫的一般形式為: 檔案指標名=fopen(檔名,使用檔案方式) 其中,“檔案指標名”必須是被說明為FILE 型別的指標變數,“檔名”是被開啟檔案的檔名。 “使用檔案方式”是指檔案的型別和操作要求。“檔名”是字串常量或字串陣列。 其次,使用檔案讀寫函式讀取檔案。 在C語言中提供了多種檔案讀寫的函式: ·字元讀寫函式 :fgetc和fputc ·字串讀寫函式:fgets和fputs ·資料塊讀寫函式:freed和fwrite ·格式化讀寫函式:fscanf和fprinf 最後,在檔案讀取結束要使用檔案關閉函式fclose()關閉檔案。 下面以格式化讀寫函式fscanf和fprintf為例,實現對檔案A.txt(各項資訊以空格分割)的讀取,並將它的資訊以新的格式(用製表符分割各項資訊)寫入B.txt,實現對A.txt的處理。 C語言源程式如下所示: #include #include #include typedef struct student{ char name[32]; int no; char sex[16]; float score; } stu; int main(int argc, char* argv[]) { //開啟檔案 FILE * r=fopen("A.txt","r"); assert(r!=NULL); FILE * w=fopen("B.txt","w"); assert(w!=NULL); //讀寫檔案 stu a[128]; int i=0; while(fscanf(r,"%s%d%s%f",a[i].name,&a[i].no,a[i].sex,&a[i].score)!=EOF) { printf("%s\t%d\t%s\t%g\n",a[i].name,a[i].no,a[i].sex,a[i].score);//輸出到顯示器螢幕 fprintf(w,"%s\t%d\t%s\t%g\n",a[i].name,a[i].no,a[i].sex,a[i].score);//輸出到檔案B.txt i++; } //關閉檔案 fclose(r); fclose(w); system("pause"); return 0; }