今天只做了两件事,学会C++读文件ifstream和写文件ofstream.记录下来,以后别忘记了。
用于读raw时的注意事项:
1.如果顺序读取,必须使用interleave的raw文件格式。即rgbrgbrgbrgb。
如果使用noninterleave,则变为:rrrrggggbbbb。读出来的数据会变。注意。
2.合并时,注意数据转换,如果是char转成int,就变成ASCII码了。所以尽量不要使用数据转换。
具体两个代码如下:
读取raw
文件为height65,width60.interleave的raw文件
#include<windows.h>
#include
#include
#include
using namespace std;
int main(void)
{
BYTE *pixel;
ifstream fin(“2.raw”,ios::binary);
if(!fin)
{
cerr<<“Open file error!”<<endl;
return false;
}
pixel=new BYTE[11700];
fin.read((char *)(pixel),11700);
int k = 0,i,j;
int r,g,b;
BYTE *pt;
ofstream fout;
int t=0;
fout.open(“2.txt”,ios::out);
for(i=0;i<65;i++)
{
for(j=0;j&