- 最後登錄
- 2019-4-27
- 在線時間
- 1 小時
- 註冊時間
- 2010-11-29
- 閱讀權限
- 30
- 精華
- 0
- UID
- 9039416
- 帖子
- 328
- 積分
- 2651 點
- 潛水值
- 10849 米
| 本帖最後由 EdisonX 於 2013-11-8 12:59 PM 編輯
不是,FILE * 是你操作檔案的一個指標,
你要存取的資料型態是另外配的,這裡給一個範例。- #include <stdio.h>
- #include <stdlib.h>
- #define ARY_SIZE 7
- #define FNAME "s.bin"
- int main()
- {
- unsigned char bData[ARY_SIZE] = {0x01, 0x02, 0x03, 0x04,0x05,0x06,0x07};
- unsigned char bRead[ARY_SIZE] ; ///< 到時候從檔案讀出來
- const size_t nArySize = sizeof(bData) / sizeof(bData[0]); ///< 算大小
- FILE * fin = NULL;
- FILE * fout = NULL;
- size_t i, ret = 0; ///< 紀錄傳回值
- /////////// bData 寫到檔案去 ///////////////////////
- if(NULL == (fout = fo pen(FNAME,"wb") ) { ///< 做 binary 寫檔動作
- puts("open file fail");
- return 1;
- }
- ret = fwrite( (const void*)bData , sizeof(*bData) , nArySize, fout));
- // 上面的 bData 和 &bData 差別我就不多說了, 注意傳回值
- if(ret != nArySize) puts("write fle fail");
- fclose(fout); ///< 寫檔結束
- /////////// 再讀回來到 bRead ///////////////////////
- fin = fo pen(FNAME, "rb");
- if(fin==NULL) {
- puts("open file fail");
- return 1;
- }
- ret = fread( (void*)bRead, sizeof(*bRead), nArySize, fin);
- if(ret != nArySize) puts(" read file fail. ");
- fclose(fin);
-
- /////////// 輸出 bRead 內容 ///////////////////////
- for( i = 0 ; i < nArySize ; ++i)
- prin tf("%2x ", bRead[i]);
- return 0;
- }
複製代碼 其他的不懂再查查函式說明吧。... |
|