| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 873 人关注过本帖
标题:[求助] string name输出为什么不可见啊!
只看楼主 加入收藏
雨夜微醺
Rank: 1
等 级:新手上路
威 望:1
帖 子:147
专家分:0
注 册:2006-9-25
收藏
 问题点数:0 回复次数:5 
[求助] string name输出为什么不可见啊!

#include<iostream>
#include<iomanip>
#include<string>
#include<fstream>
using namespace std;
class student
{
public:
static void get_st();
static void show_st();
static void trunc_st();
private:
string name;

};

void student::trunc_st()
{
ofstream os("student.DAT",ios::trunc);
os.close();
}

void student::get_st()
{
cin.clear();
student s;
cin>> s.name ;

ofstream os("student.DAT",ios::binary|ios::out|ios::app);
os.write(reinterpret_cast<char*>(&s), sizeof(s) );
os.close();
}

void student::show_st()
{
student s;
ifstream infile;
infile.open("student.DAT", ios::in | ios::binary|ios::ate);
infile.seekg(0);

infile.read( reinterpret_cast<char*>(&s), sizeof(s));
while(!infile.eof())
{
cout<<setw(11)<<s.name<<endl;
infile.read( reinterpret_cast<char*>(&s), sizeof(s) );
}
infile.close();
}

int main()
{
char c='n';
student::trunc_st();

do
{
cout<<"Enter the students'datas!"<<endl;
student::get_st();
cout<<"Continue? y/n\n";
cin>>c;
}while(c=='y');

cout<<setw(11)<<"Name :"<<endl;
student::show_st();
return 0;
}

运行后name输出的好象只是几个空格啊,哪位大哥告诉我怎么回事啊!

[此贴子已经被作者于2006-10-2 10:15:27编辑过]

搜索更多相关主题的帖子: string name void student get 
2006-10-02 10:08
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
呵呵,没时间了
回去给你看看,先复制了

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-10-03 19:20
雨夜微醺
Rank: 1
等 级:新手上路
威 望:1
帖 子:147
专家分:0
注 册:2006-9-25
收藏
得分:0 
hehe.那先谢过了。

我若想到你就有种莫名的开心 我一见到你就有种莫名的悸动
2006-10-03 20:57
wuling_227
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-10-3
收藏
得分:0 

#include<iostream>
#include<iomanip>
#include<string>
#include<fstream>
using namespace std;
class student
{
public:
static void get_st();
static void show_st();
static void trunc_st();
private:
string name;

};

void student::trunc_st()
{
ofstream os("student.DAT",ios::trunc);
os.close();
}

void student::get_st()
{
cin.clear();
student s;
cin>>s.name ;

ofstream os("student.DAT",ios::binary|ios::out|ios::app);
/*
os.write(reinterpret_cast<char*>(&s), sizeof(s) );
*/
os<<s.name;

os.close();
}

void student::show_st()
{
student s;
ifstream infile;
infile.open("student.DAT", ios::in | ios::binary|ios::ate);
infile.seekg(0);
/*
infile.read(reinterpret_cast<char*>(&s), sizeof(s));
while(!infile.eof())
{
cout<<setw(11)<<s.name<<endl;
infile.read( reinterpret_cast<char*>(&s), sizeof(s) );
}
*/

infile>>s.name;
cout<<s.name<<endl;

infile.close();
}

int main()
{
char c='n';
student::trunc_st();

do
{
cout<<"Enter the students'datas!"<<endl;
student::get_st();
cout<<"Continue? y/n\n";
cin>>c;
}while(c=='y');

cout<<setw(11)<<"Name :"<<endl;
student::show_st();
return 0;
}

你在保存的时候 s 是一个对象,而不是一个字符串,而且你用的时候何必用得这么麻烦,这样就可以了哈

2006-10-03 22:49
雨夜微醺
Rank: 1
等 级:新手上路
威 望:1
帖 子:147
专家分:0
注 册:2006-9-25
收藏
得分:0 

先谢谢你,不过那样话,我输入多组name就连在一起没法看了,我要的是一个name占一行的格式化输出!
能不能再改一下。


我若想到你就有种莫名的开心 我一见到你就有种莫名的悸动
2006-10-04 09:59
雨夜微醺
Rank: 1
等 级:新手上路
威 望:1
帖 子:147
专家分:0
注 册:2006-9-25
收藏
得分:0 
都沉底了,帮解决一下。

我若想到你就有种莫名的开心 我一见到你就有种莫名的悸动
2006-10-12 20:28
快速回复:[求助] string name输出为什么不可见啊!
数据加载中...
 
   



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

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