打开文件,如何能够知道要读的文件每位是“0”还是“1”
编号:QA003616
建立日期: 2000年12月2日 最后修改日期:2000年12月2日
所属类别:
goodluck:
我在程序中用CFile::modeRead|CFile::typeBinary模式打开了一个文件,希望能够知道要读的文件每位是“0”还是“1”,接下来我该怎么做?谢谢!!!!
回答:
打开文件读入到str数组,为方便定义8bit的unsigned short型,对str每个元素按位与操作,相应位是“0”,string+"0",else,string+"1",最后结果输出到messagebox()对话框。你可以根据你的需要作相应修改,注意文件
读出的值,可以在调试中跟踪。
CFileDialog fdlg(TRUE,NULL,NULL);
CFile file;
if(fdlg.DoModal()==IDOK){
file.Open(fdlg.GetPathName(),CFile::modeRead|CFile::typeBinary,NULL);
}
int i,j,n;
int arry[8]={1,2,4,8,16,32,64,128};
n=file.GetLength();
unsigned short str[1024]; //8 bit
file.Read(&str,n);
CString string;
for(i=0;i for(j=8;j>0;j--){
if(str[i]&arry[j]) //& option
string+="1";
else
string+="0";
}
}
MessageBox(string);
此问题由bluenet回答。
| |
|
|
| |
|
|