mfc中用sscanf读取文件出错

最近在用mfc做一个项目,用sscanf函数读取txt中的数据时,发现读出来的数据竟然是一样的,如图
图1
txt文件如图:
图2
我的代码如下:
图片说明
如果我把buffData的数据类型改为double,其他相应的做一些改变,读出的数据就没什么问题,这又是为什么啊?

3个回答

刚才给你回答一大串,服务器提交失败。。。。你这个就是因为CString的问题,将CString写入文件时,因为它的大小是不确定的,所以会出问题。,我以前写MFC,把结构体写进文件,我还是限定字节写都不可以,就是CString出错,你换成string、char[]这些字符串都可以,char[]最好,它是基本数据类型。CString是MFC封装的类型,你定义的是对象了, 而不是一个基本类型的变量。你换成double当然可以,换字符串也可以的。对CString,你可以查一下MSDN,看它的定义和存储。

johnsoncy123456
johnsoncy123456 谢谢啦!
3 年多之前 回复

如果你非要用CString,你往文件写字符串, 读出来的时候在用转换函数,将字符串赋给你的CString对象

zcyzsy
Zmyths 回复johnsoncy123456: 哥们,给你发的链接。你进去看,这博客提供了好几种CString转char 或string的方法,你可以学一学
3 年多之前 回复
zcyzsy
Zmyths 回复johnsoncy123456: http://www.cnblogs.com/greatverve/archive/2010/11/10/cstring-int-string-char.html
3 年多之前 回复
johnsoncy123456
johnsoncy123456 这个具体怎么写代码啊?
3 年多之前 回复

sscanf(strLine, "%*s %s", buffData[i]);你这一句能编译过吗

johnsoncy123456
johnsoncy123456 这一句没有问题,能编译通过。用MessageBox()能正确输出,但出了那个while循环就像第一个图片那样了。
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问