图书管理系统,实现对图书增,删,改,查的功能,这是初步想法,以后我会对这个项目进行更深的思考,毕竟现在还是菜鸡,先把最基础的干好。
这个可以替换上面的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();
   }
}

C++中eof()函数和peek()函数的区别相关推荐

  1. peek在c语言中的作用,C++ peek函数用法详解

    peek 成员函数与 get 类似,但有一个重要的区别,当 get 函数被调用时,它将返回输入流中可用的下一个字符,并从流中移除该字符:但是,peek 函数返回下一个可用字符的副本,而不从流中移除它. ...

  2. C++中的peek()函数及其用法

    peek()函数  其调用形式为cin.peek(),返回值是一个char类型的字符,其返回值是指向指向的当前字符,如果要访问的字符是文件结束符,则函数值是EOF(-1).  但只是做观测使用,即指针 ...

  3. java peek函数_Java 8 Stream Api 中的 peek 操作

    1. 前言 我在 Java 8 Stream API中的 map 和flatMap 中讲述了Java8 Stream API中 map 操作和 flatMap 操作的区别.然后有小伙伴告诉我 peek ...

  4. php eof 使用函数_PHP中EOF的用法介绍(附示例)

    本篇文章给大家带来的内容是关于PHP中EOF的用法介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. PHP EOF(heredoc)是一种在命令行shell(如sh.cs ...

  5. #includeunistd.h存在linux中,含有系统服务的函数

    #include<unistd.h> linux标准库#include <unistd.h>与windows的#include <windows.h>(C语言开发) ...

  6. Unix/Linux中的read和write函数

    文件描述符 对于内核而言,所有打开的文件都通过文件描述符引用.文件描述符是一个非负整数.当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符.当读或写一个文件时,使用open或creat ...

  7. c语言gets,getc,C++_C语言的getc()函数和gets()函数的使用对比,C语言getc()函数:从流中读取字 - phpStudy...

    C语言的getc()函数和gets()函数的使用对比 C语言getc()函数:从流中读取字符头文件: #include 函数getc()用于从流中取字符,其原型如下: int getc(FILE *s ...

  8. Java知识点06:队列(Queue)的offer/add函数,poll/remove函数,peek/element函数的区别

    一.Queue接口的描述 Queue接口,实现了 Collection接口. 队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作. 在Queue中,有 offer.add ...

  9. 源码解析glibc中的pclose与fclose函数

    文章目录 pclose 和 fclose 的阻塞问题 测试代码 问题 pclose与fclose的关系 fclose函数的定义 pclose函数的定义 总结 fclose中的block 有嫌疑的地方 ...

最新文章

  1. 谭浩强课后题之----水仙花数
  2. 模块-基本概念和import导入复习
  3. pythontype函数使用_Python astype(np.float)函数使用方法解析
  4. java删除表操作,JDBC删除表实例
  5. idea的maven调用本地仓库的jar报错
  6. java中substring与substr的用法
  7. 面试中常见智力题汇总
  8. 汽车销售管理系统源码
  9. 18年6月英语六级第一套听力单词
  10. mp4 box linux,MP4Box
  11. Android Studio 华为手机真机调试
  12. 认识网络通信中的 ACK、NACK 和 REX
  13. 朝圣—保罗· 柯艾略~随记2017-12-6周三
  14. CSAPP:malloclab (显式空闲链表 LIFO+首次适配)
  15. java正则表达式匹配单引号_java - 正则表达式,用于在未被单引号或双引号括起时使用空格分割字符串...
  16. 区块链技术在物联网中的应用概述
  17. Mac 安装 nvm
  18. 微信jssdk已无力吐槽
  19. php json数据 转义,PHP JSON字符串,转义JS输出的双引号
  20. 机器学习:朴素贝叶斯

热门文章

  1. java计算机毕业设计会展中心招商服务平台源码+mysql数据库+系统+lw文档+部署
  2. 【独立站运营】提高电子商务转化率的 7种方法
  3. js 侦听手机摇动事件,模仿微信摇一摇功能
  4. 2022 秋季旷视研究院实习生招募 | 有为青年继续来发光吧!
  5. 大数据帮助我们走进大脑的缤纷世界
  6. 第2节课Matplotlib案例及作业
  7. 机房收费系统——日账单
  8. 安卓手机删除的照片怎么恢复
  9. 【“码”力全开,“章”显实力】2022年第1季Task挑战赛贡献者榜单
  10. 多级反馈队列调度算法详解