////////////////////////////////////////////
FILE *fopen( const char *filename, const char *mode );mode一般為"r"或者"w",Opens for reading. Opens an empty file for writing.
fopen("G:\\test.txt",'w'); 可行
filename = dlg.GetPathName(); 可以獲得路徑
///////////////////////////////////////////////////////////
fread: Reads data from a stream 從一個流中讀數(shù)據(jù)
Pointer to FILE structure
int fread(void *buffer, int size, int count, FILE *stream);
參 數(shù):用于接收數(shù)據(jù)的地址(字符型指針)(buffer) Storage location for data
單個元素的大?。╯ize) Item size in bytes
元素個數(shù)(count)Maximum number of items to be read
提供數(shù)據(jù)的文件指針(stream)
返回值:成功讀取的元素個數(shù)
////////////////////////////////////////////
打開文件后讀取bmp文件中的數(shù)據(jù):
FILE *fp=fopen(filename,"r"); //按照filename的路徑打開文件
BITMAPFILEHEADER fileheader;
BITMAPINFO info;
fread(&fileheader,sizeof(fileheader),1,fp); //讀取頭文件信息
if(fileheader.bfType!=0x4D42)
{
pDC->TextOut(100,200,"無位圖文件 請選擇位圖文件");
fclose(fp);
return ;
}
fread(&info.bmiHeader, sizeof(BITMAPINFOHEADER), 1, fp); /*讀取信息頭*/
long width=info.bmiHeader.biWidth;
long height=info.bmiHeader.biHeight; //位圖高度及寬度
UCHAR *buffer=new UCHAR[info.bmiHeader.biSizeImage]; //位圖的大小
fseek(fp,fileheader.bfOffBits,0); //重定位流上的文件指針,接下來的操作將從新位置開始
fread(buffer,info.bmiHeader.biSizeImage,1,fp);