C++如何读取文本文档中的数据并处理?

我有一个txt文档,其中内容有10行,每行2个数(左边为10进制,右边16进制),比如像:14FF15BA163E。。。。如何才能访问该文档并把每一个数分别赋给20个不同... 我有一个txt文档,其中内容有10行,每行2个数(左边为10进制,右边16进制),比如像:
14 FF
15 BA
16 3E
。。。。

如何才能访问该文档并把每一个数分别赋给20个不同变量?(已知文档路径为CString PathName),本人菜鸟,望能详细,好的定再+分,谢谢!
展开
 我来答
ad饕饕不绝
推荐于2016-09-10 · TA获得超过596个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:0
展开全部
#include<iostream>
#include<queue>
#include<string>
#include<cstring>
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<i;++j)
cout<<a[j]<<' '<<b[j]<<endl;*/
return 0;
}
jmiaofan520sc
2009-12-22 · TA获得超过216个赞
知道答主
回答量:102
采纳率:0%
帮助的人:42.9万
展开全部
我想问一下,十进制数和十六进制数之间有没有什么符号隔开,如空格
若文档中每一行的数即:十进制和十六进制之间是直接连起的,也就是没其他隔开符号,那么在每行中用程序是不可能将他们给区分开的。。。。如有隔开符号的话,你就按行读取到一个字符串中在将这个字符串转换成字符数组,用循环找出字符串中的隔开符号,这样就能分开赋值。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
骂了隔B的
2009-12-22 · TA获得超过110个赞
知道小有建树答主
回答量:235
采纳率:0%
帮助的人:133万
展开全部
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;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
英朗aM
2009-12-22 · TA获得超过150个赞
知道小有建树答主
回答量:353
采纳率:0%
帮助的人:153万
展开全部
访问文件需要头文件ifstream;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
罕痴代水风
2019-06-02 · TA获得超过3739个赞
知道大有可为答主
回答量:3183
采纳率:29%
帮助的人:169万
展开全部
可以用
:
#include
先建立一个输入流
istream
input;
然后给这个输入流(input)建立文件链接
input.open("a.txt");
读取的时候用">>"可以读取以空格分离的数据。你要读取第3个数据哪就先忽略前2个。
for(int
i(0);i!=15;++i){
//这个是循环控制
int
i;
input>>i>>i>>i;
//忽略前2个,现在i的值是最后一个
cout<
评论
0
0
加载更多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式