1. 引言:
c語言把檔案看作乙個字元(位元組)的序列,即由乙個個字元(位元組)的資料順序組成。根據資料組織形式,可分為ascii檔案和二進位制檔案。ascii檔案又稱為文字(text)檔案,它的每個位元組放乙個ascii**,代表乙個字元。二進位制檔案是把記憶體中的資料按其在記憶體中的儲存形式原樣輸出到磁碟上存放。
怎樣儲存和讀取檔案中的資料流呢?學會這些i/o函式即可,如下:
2. **示例:
該**以影象資料的儲存為例,實踐了各種流資料相關函式:
#include "stdio.h"
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int main()
int width = imgbgr.cols;
int height = imgbgr.rows;
mat imggray;
cvtcolor(imgbgr, imggray, cv_bgr2gray);
uchar* pdata = imggray.data;
/* fwrite儲存影象資訊到bat檔案 */
file* fp1 = null;
fp1 = fopen("imggrayinfo_fwrite.dat","wb");
if (fp1 == null)
// [2-1] 儲存影象的寬和高
fwrite(&width, sizeof(int), 1, fp1);
fwrite(&height, sizeof(int), 1, fp1);
// [2-2] 按行儲存影象資料
for (int i = 0; i < height; i ++)
fclose(fp1);
/* fread讀取dat檔案資訊 */
int cols = 0, rows = 0;
char tmp[2];
char imgdata[1024];
memset(imgdata, 0, sizeof(char)*1024);
file* fp2 = null;
fp2 = fopen("imggrayinfo_fwrite.dat", "rb");
if (null == fp2)
// [3-1] 讀取影象的寬和高
fread(&cols, sizeof(int), 1, fp2);
fread(&rows, sizeof(int), 1, fp2);
printf("rows:%d\t cols:%d\t", rows, cols);
// [3-2] 讀取影象資料
for (int i = 0; i < height; i++)
fclose(fp2);
/*fprintf 儲存影象到txt */
pdata = imggray.data;
file* fp3 = null;
fp3 = fopen("imggrayinfo_fprintf.txt", "w+");
if (!fp3)
// [4-1] 儲存影象的寬和高
fprintf(fp3,"%d%c", width,'\t');
fprintf(fp3,"%d%c",height,'\n');
// [4-2] 以整型方式儲存影象資料
for (int i = 0; i < 1; i++) //儲存一行
fprintf(fp3, "%c", pdata,'\n');
} fclose(fp3);
/* fscanf讀取txt資料*/
int ntmp = 0;
file* fp4 = null;
fp4 = fopen("imggrayinfo_fprintf.txt", "r");
if (!fp4)
fscanf(fp4, "%d", &cols);
fscanf(fp4, "%d", &rows);
int k = 0;
while (!feof(fp4))
fclose(fp4);
return 0;
}
MATLAB讀取檔案 儲存檔案
學習各種文獻 常見的開啟方式如下 r 唯讀方式開啟檔案 預設的方式 該檔案必須已存在。r 讀寫方式開啟檔案,開啟後先讀後寫。該檔案必須已存在。w 開啟後寫入資料。該檔案已存在則更新 不存在則建立。w 讀寫方式開啟檔案。先讀後寫。該檔案已存在則更新 不存在則建立。a 在開啟的檔案末端新增資料。檔案不存...
檔案儲存和讀取
通過檔案的處理,可以把記憶體中的資料儲存到外存中,實現資料的持久化。一 檔案的儲存 file fp 處理檔案流程 1 開啟檔案 建立乙個從記憶體到磁碟的緩衝區,把內容寫到記憶體中。fopen 2 存資料 把記憶體中的資料對映到磁碟中,實現資料寫入。fprint 3 關閉檔案 fclose 如下 in...
檔案讀取與儲存
pandas的api支援眾多的檔案格式,如csv sql xls json hdf5。讀取檔案,並且指定只獲取 open close 指標 data pd.read csv data stock day.csv usecols open close hdf5hdf5檔案的讀取和儲存需要指定乙個鍵,值...