c++中我编了个函数将输入的信息存入BOOK.txt中,但每次重新运行的话,文件中的信息都会没有了
我想要的是运行后,保留,下次运行继续往下存入voidManager::CreatBook(){book*Pbook;Pbook=newbook;ofstreamout("...
我想要的是运行后,保留,下次运行继续往下存入
void Manager::CreatBook()
{
book * Pbook;
Pbook=new book;
ofstream out("book.txt");
loop:
cout<<"请输入图书内容(书号 书名 作者 出版社):"<<endl;
cin>>Pbook->bno>>Pbook->bname>>Pbook->author>>Pbook->press;
out<<setiosflags(ios::left)<<setw(5)<<Pbook->bno
<<setiosflags(ios::left)<<setw(21)<<Pbook->bname
<<setiosflags(ios::left)<<setw(9)<<Pbook->author
<<setiosflags(ios::left)<<setw(21)<<Pbook->press<<endl;
cout<<"储存成功!"<<endl;
Pbook->next=new book;
Pbook=Pbook->next;
char yn;
cout<<"是否继续? y/n"<<endl;
cin>>yn;
if(yn=='y'||yn=='Y')
goto loop;
out.close();
} 展开
void Manager::CreatBook()
{
book * Pbook;
Pbook=new book;
ofstream out("book.txt");
loop:
cout<<"请输入图书内容(书号 书名 作者 出版社):"<<endl;
cin>>Pbook->bno>>Pbook->bname>>Pbook->author>>Pbook->press;
out<<setiosflags(ios::left)<<setw(5)<<Pbook->bno
<<setiosflags(ios::left)<<setw(21)<<Pbook->bname
<<setiosflags(ios::left)<<setw(9)<<Pbook->author
<<setiosflags(ios::left)<<setw(21)<<Pbook->press<<endl;
cout<<"储存成功!"<<endl;
Pbook->next=new book;
Pbook=Pbook->next;
char yn;
cout<<"是否继续? y/n"<<endl;
cin>>yn;
if(yn=='y'||yn=='Y')
goto loop;
out.close();
} 展开
展开全部
应该这样,ofstream out("book.txt",ios_base::app); 在原有的文件内容上追加,而不是覆盖。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不管是fstream还是WriteFile,都类似有个Append的创建标记.用来附加数据而不是覆盖.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ofstream out("book.txt",ios_base::app);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
打开文件的方式错误。请将你的文件处理代码发上来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询