图书管理系统,实现对图书增,删,改,查的功能,这是初步想法,以后我会对这个项目进行更深的思考,毕竟现在还是菜鸡,先把最基础的干好。
这个可以替换上面的peek()函数
while(!infile.eof())
{ /*这里关于getline,因为在上面是以\t结尾,所以这里也是
getline(infile,str,'\t'); eof()返回值没到结尾返回0,到了结尾还是返回0,再循环一次
cout<<str<<'\t'; 返回1*/
}
#include<iostream>
#include<fstream>
#include<conio.h>
#include<string>
using namespace std;
void main()
{
string str;
ofstream outfile;
outfile.open("C:Users\\ASUS\\Desktop\\Book.txt",ios::out|ios::app); //在桌面上建立一个文件,然后由内存存入硬盘中
if(outfile) //如果是一个\的话有可能出现歧义;
{
while(1)
{
cout<<"请输入要写入的内容"<<endl;
cin>>str; //先输入缓冲区,从缓冲区读出来
outfile<<str<<"\t"; //将数据放入到outfile中
cout<<"是否需要继续输入字符?(Y/N):"<<endl;
setbuf(stdin,NULL); //将缓冲区清空,防止后面getchar()得到\n;
char c=getchar();
if(c=='N')
break;
}
}
outfile.close(); //写完一定要关闭文件,否则在下面打开文件会出现问题
ifstream infile;
infile.open("C:Users\\ASUS\\Desktop\\Book.txt",ios::in);
while(infile.peek()!=EOF)
{
cout<<"文件中的内容为:"<<endl;
getline(infile,str,'\t'); //peek()函数返回是指针,返回当前指针,比如输入内容
cout<<str<<'\t'; //返回a,所以判断结束标志最好用peek();
}
}