BMP文件处理的问题
"bmpstruct.h"文件内容如下:
typedef struct tagBITMAPFILEHEADER { /* bmfh */
Char bfType[2];
DWORD bfSize;
UINT bfReserved1;
UINT bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER;
typedef struct tagBITMAPINFOHEADER { /* bmih */
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER;
typedef struct tagRGBQUAD { /* rgbq */
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
} RGBQUAD;
"read.cpp"文件如下:
#include <fstream>
#include <iostream>
#include "bmpstruct.h"
using namespace std;
int main(void)
{
struct BITMAPFILEHEADER filehead;
struct BITMAPINFOHEADER bmi;
ifstream infile("f:\1.bmp");
if(!infile)
{
cerr<<"unable to open input file:"
<<"f:\1.bmp"<<endl;
return -1;
}
char ch;
if((infile.get(ch)!='B')&&(infile.seekg(1)!='M'))
{
cerr<<"You have open a non-BMP file"<<endl;
return -1;
}
else
{
cout<<"File has been opened!"<<endl;
}
ofstream outfile("f:\2.txt");
if(!outfile)
{
cerr<<"unable to open output file:"
<<"f:\2.txt"<<endl;
return -1;
}
for(int i=0; i<14;++i)
{
infile.get(ch);
outfile.put(ch);
}
return 0;
}
为什么最后没有生成f:\2.txt(文件开始并不存在),更不用说读写数据了??
问题点数:20、回复次数:2Top
1 楼popy007(Twinsen)回复于 2006-03-17 10:00:38 得分 10
f:\2.txt
改成
f:\\2.txtTop
2 楼OpenHero(开勇)回复于 2006-03-17 10:05:11 得分 10
转移字符
还可以这样写f:/2.txtTop




