回覆列表
  • 1 # 使用者2016443885395

    在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; }

  • 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

  • 中秋節和大豐收的關聯?
  • 論文裡表明引用的時候,右上角的中括號怎麼加上去的?