關於檔案讀寫(C和C

2021-08-25 12:18:54 字數 1878 閱讀 9249

一、c語言版

在c語言中stdio.h標頭檔案裡包含了檔案讀寫操作。主要是通過file*指標進行檔案操作。通過fscanf和fprintf對檔案進行格式化的讀寫,或通過fread 和 fwrite對檔案進行二進位制讀寫。(在資料量比較大時,一般建議用後者,因為格式化在輸入時需要將ascii碼轉為二進位制形式,在輸出時需要將二進位制形式轉為ascii碼,花費較大系統時間。fread 將檔案的內容直接讀入到乙個指標中,fwrite將乙個結構體的內容存放到檔案中。

size_t fread ( void * ptr, size_t size, size_t count, file * stream );
size_t fwrite ( const void * ptr, size_t size, size_t count, file * stream );
size表示針對的單個單元或結構體的大小的字元數。
count表示單元的個數。 (當然只要size*count積一定即可,可以讓size賦給count,然後count賦給size)
和c++不同之處在於:
file * fin=fopen("檔案位址「,"r」);// 需要將函式的返回值賦給乙個指標變數
fscanf(fin,"%d %d",&row,&column); // 需要注意的是需要用&,傳遞位址
fclose(fin);//是將file型指標 fin傳給fclose函式
二、c++版
#include 引入檔案操作標頭檔案
ofstream 對於輸出,ifstream對於輸入,fstream既可輸出又可以輸入。
ifstream fin;
fin.open("e://c++//filecontrol//filecontrol//debug");//呼叫成員函式
fin>>row>>column;//直接按流輸出
fin.close(); //呼叫成員函式關閉
//

#include "stdafx.h"

#include //for c++ file control

#include #include //for c file control

using namespace std;

/* you can change the size to meet your needs*/

#define matrix_largest_size 500 //matrix_row * matrix_column <= matrix_largest_size

/*here you can choose use c or use c++ to realize the file control operation */

#if 1

#define c_mode

#endif

#if 0

#define cplusplus_mode

#endif

int _tmain(int argc, _tchar* argv)

} /*

we print the matrix in the console

*/ for(int i=0;i// as the filefolder seperate

*/fin=fopen("e://c++//filecontrol//filecontrol//debug","r");

fscanf(fin,"%d %d",&row,&column);

printf("row:%d/tcolumn:%d/n",row,column);

/* read all the matrix element into the matrix int array

*/ for(int i=0;i

C 檔案讀寫

原文 http www.vckbase.com document viewdoc id 1439 原作 john peregrine file i o using c 序論 我曾發表過檔案輸入輸出的文章,現在覺得有必要再寫一點。檔案 i o 在c 中比烤蛋糕簡單多了。在這篇文章裡,我會詳細解釋asc...

C 讀寫檔案

1 使用filestream讀寫檔案 檔案頭 using system using system.collections.generic using system.text using system.io 讀檔案核心 byte bydata new byte 100 char chardata ne...

檔案讀寫(C )

將原文件的資料每列的讀入各個陣列中,然後進行增加行操作,對文字文件的資料進行擴充套件,將格式化寫入另乙個文字文件中。如下 經驗證準確無誤達到所要的效果。include include using namespace std int main 存入新的文字文件 file pnfilenew pnfil...