| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 781 人关注过本帖
标题:关于文本文件数据读写格式的小问题(内附代码)!
取消只看楼主 加入收藏
Iamagays
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-6-21
收藏
 问题点数:0 回复次数:2 
关于文本文件数据读写格式的小问题(内附代码)!

# include <iostream.h>
# include <fstream.h>
# include <string.h>
class city
{
char cname[10];
char cno[4];
public:
city() {};
city(char m[],char n[])
{
strcpy(cname,m);
strcpy(cno,n);
}
void disp()
{
cout<<"城市:"<<cname<<"区号:"<<cno<<endl;
}
int find(char n[])
{
if (strcmp(cno,n)==0)
return 1;
else
return 0;
}
};
void main()
{
fstream f;
f.open("city.dat",ios::trunc|ios::in);
city s,s1("北京","010"),s2("上海","021"),s3("天津","022");
f.write((char *)&s1,sizeof(city)); //将三个对象写入到city.dat文件中
f.write((char *)&s2,sizeof(city));
f.write((char *)&s3,sizeof(city));
f.seekg(0,ios::beg);
char n[4];
cout<<"输入区号:";
cin>>n;
for(int i=0;i<3;i++) // 搜索区号
{
f.read((char *)&s,sizeof(s));//......什么意思?
if (s.find(n))
{
s.disp();
break;
}
}
if (i==3)
cout<<"输入的区号未找到!"<<endl;
f.close();
}

这个程序中我有两个地方不太明白,分别写在下面。

1:f.seekg(0,ios::beg);的意思是否为将读指针移到距离文件开头位置为0的地方,也就是读指针移到文件头?

2:city s定义的时候并未像s1,s2,s3一样有真实意思,对象s不含任何数据,那么如何能够利用f.read((char *)

&s,sizeof(s));读数据并和char n[4]建立联系呢?


[此贴子已经被作者于2007-7-17 0:43:45编辑过]

搜索更多相关主题的帖子: 文本文件 内附 数据 格式 代码 
2007-07-16 22:35
Iamagays
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-6-21
收藏
得分:0 
多谢斑竹,我还有一个问题不明白,就是下面代码。
if (s.find(n) )
{
s.disp();
break;
}
为什么给定一个n,就可以知道n所对应的城市名?比如在s1("北京", "010")中,如果给出010,程序就可以知道城市名是北京,其中010和北京有什么对应关系么?

[此贴子已经被作者于2007-7-17 14:58:06编辑过]

2007-07-17 14:56
Iamagays
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-6-21
收藏
得分:0 
我初学C++对class理解得还不是很深入,斑竹能否给小弟详加指点一二?
2007-07-17 23:34
快速回复:关于文本文件数据读写格式的小问题(内附代码)!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016818 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved