注册 登录
编程论坛 C++教室

怎么读数据会表里不一啊?

xyaliner 发布于 2013-10-13 20:53, 545 次点击
想读一组数据,然后显示出来,数据为
1 116.38 39.92 北京
2 113.55 22.20 澳门
3 114.15 22.28 香港
即 数字 数字 数字 字符串

程序代码:
FILE *fp = fopen("txt.txt", "r");
for(int k=0;k<3;k++)
{
        fscanf(fp, "%d%f%f%s", &id, &x, &y, Name);
        v.push_back(obj(id, x, y, Name));      //创建obj类型对象存入vector容器中
        MessageBox(v[k++].name);
}
fclose(fp);
for(int i=0; i<v.size(); i++)
        MessageBox(v[i].name);



奇怪的事发生了,在第一个for循环里正确显示名字,依次弹出:北京  澳门  香港
但是....
       但是:
第二个for循环全部显示 香港。。。。
求指教...

[ 本帖最后由 xyaliner 于 2013-10-13 21:15 编辑 ]
3 回复
#2
xyaliner2013-10-13 23:22
我知道了,原来使用cstring和char*是有差异的,吐血中.....
#3
rjsp2013-10-14 08:26
你的问题和代码,呵呵……
对于问题,连最重要的v的定义都么有
对于代码,竟然有两处k++
#4
xyaliner2013-11-01 12:45
回复 3楼 rjsp
不好意思,缩减的不是很好,v是一个类对象,怕贴长了没人有耐心看,k++是需要这样的。
1