代码如下
PS:我下载了一个PNG的图片,把它改名为DATA5069.DAT时显示“open error”或者改名为DATA5069时输出NULL,求问原因以及如何更改
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
int main(){
ifstream inf("DATA5609.DAT",ios::binary);
if(!inf){
cerr<<"open error!"<<endl;
abort();
}
char a[3][10];
int i,b[3]={0,1,6},c[3]={6,3,4};
for(i=0;i<3;i++){
inf.seekg(b[i],ios::beg);
inf.read(&a[i][0],c[i]);
a[i][c[i]+1]='\0';
}
cout<<a[0]<<endl;
cout<<a[1]<<endl;
cout<<a[2]<<endl;
if(!strcmp(a[0],"GIF89a")) cout<<"GIF"<<endl;
else if(!strcmp(a[1],"PNG")) cout<<"PNG"<<endl;
else if(!strcmp(a[2],"JFIF")) cout<<"JPEG"<<endl;
else cout<<"NULL"<<endl;
inf.close();
return 0;
}