天天看點

c語言将字元串寫入檔案

代碼如下:

FILE *fp;

        char ch;

        if((fp=fopen("file.txt","a+"))==NULL)

        {

                printf("You can't open the file.txt!\n");

                exit(1);

        }

        printf("please input the data:\n");

        do

        {

                ch=getchar();  //得到輸入的字元;

                fputc(ch,fp);  //将得到的字元存入到檔案中;

        }while(ch!='\n');

        printf("The data wtite to the file successfully!\n");

        fclose(fp);

函數原型:FILE * fopen(const char * path,const char * mode);

mode有下列幾種形态字元串:  

r 以隻讀方式打開檔案,該檔案必須存在。  

r+ 以可讀寫方式打開檔案,該檔案必須存在。  

rb+ 讀寫打開一個二進制檔案,允許讀資料。

rw+ 讀寫打開一個文本檔案,允許讀和寫。

w 打開隻寫檔案,若檔案存在則檔案長度清為0,即該檔案内容會消失。若檔案不存在則建立該檔案。  

w+ 打開可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案内容會消失。若檔案不存在則建立該檔案。  

a 以附加的方式打開隻寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先的内容會被保留。(EOF符保留)  

a+ 以附加方式打開可讀寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的内容會被保留。 (原來的EOF符不保留)

wb 隻寫打開或建立一個二進制檔案;隻允許寫資料。

wb+ 讀寫打開或建立一個二進制檔案,允許讀和寫。

ab+ 讀寫打開一個二進制檔案,允許讀或在檔案末追加資料。

at+ 打開一個叫string的檔案,a表示append,就是說寫入處理的時候是接着原來檔案已有内容寫入,不是從頭寫入覆寫掉,t表示打開檔案的類型是文本檔案,+号表示對檔案既可以讀也可以寫。