关于C++文件流的问题

求高手帮忙解读一下在同一个文件里输出输入。代码如下:classXManagerList{public: intn; XManager*head,*p;... 求高手帮忙解读一下在同一个文件里输出输入。代码如下:
class XManagerList{

public :

 int n ;

 XManager * head , * p ;

 XManagerList()

 {

  n = 0 ;

  p = head = NULL ;

 }

 

 void inputFile() ;

 void saveFile() ;

} X ;

 

void XManagerList::inputFile()

{

 XManager * t ;

 char na[50] ;

 

 ifstream cinx ("X.txt") ;

 while(cinx >> na )

 {

  t = new XManager() ;

  t -> next ;

  strcpy(t -> name , na ) ;

  cinx >> (t -> post ) >> (t -> sex) >> (t -> num) >> (t -> age) >> (t -> salary) ;

  addMember(X , t ) ;

 }

}

 

void XManagerList::saveFile()

{

 XManager * t ;

 ofstream cout ("X.txt") ;

 

 for(t = X.head ; t != NULL ; t = t ->next )

  cout<< (t -> name)<<' ' << (t -> post ) <<' '<< (t -> sex) <<' '<< (t -> num)

  <<' '<< (t -> age) <<' '<< (t -> salary)<<endl ;

}

 谢谢!
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
匿名用户
2014-11-22
展开全部
#include<iostream>
#include<string>
using namespace std;
class XManagerList
{
public :
int n ;
XManager * head , * p ; //定义了两个XManager指针
XManagerList()
{
n = 0 ;
p = head = NULL ;
}
void inputFile() ;
void saveFile() ;
} X ;

void XManagerList::inputFile()
{
XManager * t ; //定义了一个个XManager指针
char na[50] ;
ifstream cinx ("X.txt") ; //于当前工作目录下的X.txt文件 作为输入流
while(cinx >> na ) //如果读到一个字符串(这里是如果如果还有下一个名字)
{
t = new XManager() ;//申请一个 XManager的空间并让t指向它
t -> next ; //你没有吧 XManager贴出来,所以不知道在做什么。(这里其实什么也没有做)
strcpy(t -> name , na ) ;//把读到的名字串赋给name
/*下面是从输入流中读取值依次赋给post、sex、num、age、salary*/
cinx >> (t -> post ) >> (t -> sex) >> (t -> num) >> (t -> age) >> (t -> salary) ;
/* 下面肯定是 XManagerList的成员函数,不过在XManagerList没有定义也没有实现
如果想要运行,还是在XManagerList把addMember实现。它的功能应该是把刚刚读取出来的
XManager加入到链表中(封装在XManagerList)*/
addMember(X , t ) ;
}

}
void XManagerList::saveFile()
{
XManager * t ;
ofstream cout ("X.txt") ; ////于当前工作目录下的X.txt文件 作为输出流
/*把XManagerList中的所有XManager读取出来,写入到输出流中(X.txt文件中)*/
for(t = X.head ; t != NULL ; t = t ->next )
cout<< (t -> name)<<' ' << (t -> post ) <<' '<< (t -> sex) <<' '<< (t -> num)
<<' '<< (t -> age) <<' '<< (t -> salary)<<endl ;
}
int main()
{
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式