您好,登錄后才能下訂單哦!
本篇講解使用C進行二進制文件的讀寫。
1,文件的寫:
#include <stdio.h> #include <stdlib.h> #define FILE_PATH "txt.lib" int main() { system("color 2A"); FILE * fp = NULL; fp = fopen(FILE_PATH,"w"); if(!fp) { printf("打開文件%s失敗\n",FILE_PATH); return 0; } int a = 123; fwrite(&a,sizeof(a),1,fp); fclose(fp); return 0; }
結果如下:
將上面的123讀出來:
#include <stdio.h> #include <stdlib.h> #define FILE_PATH "txt.lib" int main() { system("color 2A"); FILE * fp = NULL; fp = fopen(FILE_PATH,"r"); if(!fp) { printf("打開文件%s失敗\n",FILE_PATH); return 0; } int a = 0; fread(&a,sizeof(a),1,fp); printf("讀取到的數據為 : %d" , a); fclose(fp); return 0; }
運行的結果為:
總結 : 二進制文件的寫(使用fwrite);讀(使用fread)其中第三個參數為(讀/寫的次數)
來一個稍微復雜一點的:
寫:
#include <stdio.h> #include <stdlib.h> #define FILE_PATH "txt.lib" int main() { system("color 2A"); FILE * fp = NULL; fp = fopen(FILE_PATH,"w"); if(!fp) { printf("打開文件%s失敗\n",FILE_PATH); return 0; } char names[3][50] = {"Aonaufly","Kayer","Ainy"}; fwrite(names,sizeof(names),1,fp); fclose(fp); return 0; }
結果:
讀:
#include <stdio.h> #include <stdlib.h> #define FILE_PATH "txt.lib" int main() { system("color 2A"); FILE * fp = NULL; fp = fopen(FILE_PATH,"r"); if(!fp) { printf("打開文件%s失敗\n",FILE_PATH); return 0; } char names[3][50] = {}; fread(names,sizeof(names),1,fp); for( int i = 0 ; i < 3 ; i++ ) { printf("第%d個名字為:%s\n" , i+1 , *(names + i)); } fclose(fp); return 0; }
讀取的結果:
好,至此C的IO操作就此結束,。。。。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。