c語言的文字操作

2022-08-22 05:21:13 字數 1364 閱讀 2214

1、檔案

檔案分為文字檔案和二進位制檔案。硬碟上存在的「檔案」肯定是二進位制的。

二進位制檔案:存在的是資料的二進位制。

2、檔案的開啟和關閉

linux環境下,檔案的開啟和關閉時不分二進位制的檔案或文字檔案。

檔案的開啟: 

file *fopen(const

char *path,const

char *mode);

path:描述檔案路徑的字串

mode:開啟檔案的方式(字串)

「r」 以唯讀的方式來開啟檔案,檔案不存在則開啟失敗。

「w」以只寫的方式開啟檔案,檔案不存在則建立,存在則清空。

「a」以只寫的方式開啟檔案,檔案不存在則建立,如果存在則在後面追加上去。

「r+」具有讀寫屬性,從檔案頭開始寫,保留原檔案中沒有被覆蓋的內容。

「w+」具有讀寫屬性,寫的時候如果檔案存在,會被清空,從頭開始寫。

「a+」以附加方式開啟可讀寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。 

int fclose(file *fp);

//關閉檔案後檔案指標要置空。

3、文字檔案的讀寫方式:

fprintf(file* fp,佔位符,變數名);

file* frw = fopen("text.tet","w");

sprintf(frw,"%d %s\n",....);

fclose(frw);

frw =null;

fscanf(file* fp,佔位符,變數位址);

二進位制檔案的讀寫:

在windows開啟二進位制檔案時,許可權要加"rb","wb","ab"

size_t fwrite(void *ptr, size_t size, size_t nmemb, file *stream);

ptr 要寫入的資料的首位址

size 一次寫入多少個位元組

nmemb 寫入多少次size

stream 檔案指標

返回值是寫入成功的次數

int arr[5]= ;

file* fwp = fopen("text.dat","wb");

int ret =fwrite(arr,sizeof(int),5,fwp);

printf("%d",ret)

size_t fread(const void *ptr, size_t size, size_t nmebe,file *stream);

ptr 讀取到的資料儲存

size 每次讀取多少個位元組

nmemb 讀取多少次size

stream 檔案指標

返回值是成功讀取的次數

C語言文字讀取的操作例項

關於c語言中檔案操作的乙個簡單例項。自我學習。include include includeint main void while 1 sscanf buffer,s s fuser,fpwd if strcmp fuser,user strcmp fpwd,pwd 迴圈完後,如果ret為真,既為使...

C語言文字操作以及C語言小技巧

陣列的型別是由元素型別和陣列的大小共同決定的 例如 int array 5 的型別為int 5 c語言中通過typedef為2陣列的型別進行重新命名 typedef type name size 例如 typedef int aint5 5 typedef float afloat10 10 定義陣...

c語言對於文字的基本操作

字元讀寫函式 fgetc和fputc 字串讀寫函式 fgets和fputs 資料塊讀寫函式 freed和fwrite 格式化讀寫函式 fscanf和fprinf 1.字元讀寫 fgetc函式的功能是從指定的檔案中讀乙個字元,函式呼叫的形式為 字元變數 fgetc 檔案指標 fputc函式的功能是把乙...