1、檔案
檔案分為文字檔案和二進位制檔案。硬碟上存在的「檔案」肯定是二進位制的。
二進位制檔案:存在的是資料的二進位制。
2、檔案的開啟和關閉
linux環境下,檔案的開啟和關閉時不分二進位制的檔案或文字檔案。
檔案的開啟:
file *fopen(constchar *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函式的功能是把乙...