#include
#include
#include
#include
using namespace std;
int main()
{
string path="a.txt";//路径,也可以用类似"D:\\a.txt"
freopen(path.c_str(),"r",stdin);//打开文件
int a[21],b[21],i=0;
while(scanf("%d%x",&a[i],&b[i])!=EOF)//EOF表示读到文件末尾
++i;
/* int j; //这里是测试显示模块
for(j=0;j cout< return 0;
}
我想问一下,十进制数和十六进制数之间有没有什么符号隔开,如空格
若文档中每一行的数即:十进制和十六进制之间是直接连起的,也就是没其他隔开符号,那么在每行中用程序是不可能将他们给区分开的。。。。如有隔开符号的话,你就按行读取到一个字符串中在将这个字符串转换成字符数组,用循环找出字符串中的隔开符号,这样就能分开赋值。。。。。
CString str;
int n[10],i=0;
char s[20]="";
CStdioFile f1(PathName,CFile::modeRead);
while(f1.ReadString(str))
{
n[i]=atoi(str.Left(2).GetBuffer(2));
memcpy(s+2*i,str.Right(2).GetBuffer(2),2);
i++;
}
没测试的
如果把16进制存到一个unsigned char数组中
unsigned char s[10]="";
在while中
int n1=*(str.Right(2).Left(1))>=65?*(str.Right(2).Left(1))-55:*(str.Right(2).Left(1))-48;
int n2=*(str.Right(2).Right(1))>=65?*(str.Right(2).Right(1))-55:*(str.Right(2).Right(1))-48;
s[i]=n1*16+n2;
访问文件需要头文件ifstream;