所以我有以下代码,其中打印出链表的内容,但是我试图将其写入文件中。我成功读取了一个文件并创建了链接列表,但现在我陷入了如何将其写回另一个文件的问题。
void LinkedList::printAll()
{
if(p==NULL)
{
cout<<"There are no nodes in the list"<<endl;
return;
}
else
{
Node *tmp = p;
cout<<endl<< "RUID Name"<<endl;
while(tmp!=NULL)
{
cout <<tmp->ID <<"\t"<<tmp->name<<endl;
tmp=tmp->next;
}
}
cout<<endl;
}
这就是我尝试在文件中写入而不是打印出来的内容。任何帮助都会很精彩。
这应该是什么样子
RUID名称 4325奥马尔 5432 Partha 6530 Rani 1034 Esha 2309拉纳 3214 Badri
答案 0 :(得分:3)
您需要做的就是将您从cout
写入的输出流更改为文件流。
更好地处理printAll
函数的方法是这样的:
#include <ostream>
//...
void LinkedList::printAll(std::ostream& os)
{
if(p==NULL)
{
os<<"There are no nodes in the list"<<endl;
return;
}
else
{
Node *tmp = p;
os<<endl<< "RUID Name"<<endl;
while(tmp!=NULL)
{
os <<tmp->ID <<"\t"<<tmp->name<<endl;
tmp=tmp->next;
}
}
os<<endl;
}
然后,如果我们想打印到控制台:
LinkedList t;
//...
t.printAll(cout);
并打印到文件:
LinkedList t;
//...
std::ofstream ofs("myfile.txt");
t.printAll(ofs);