鱼C论坛

 找回密码
 立即注册
查看: 1395|回复: 4

c++文件流基础操作疑问

[复制链接]
发表于 2020-7-25 00:05:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
为什么我按照小甲鱼程序进行实验时,总是会覆盖掉原来的数据,

只显示ilovefish.com??求解答,我去网上查了都说如果只用一个文件的话是没办法在文件开头插入的

为什么我看视频小甲鱼就是在开头插入ilovefish.com的??

  1. #include <fstream>                //file stream
  2. #include <iostream>

  3. using namespace std;

  4. int main()
  5. {
  6.         fstream fp("test.txt", ios::in | ios::out );                //模式定义为 读取与写入
  7.         if (!fp)
  8.         {
  9.                 cerr << "打开文件失败!" << endl;
  10.                 return 0;
  11.         }
  12.        
  13.         fp << "Ilovefish.com";                        //实现写入功能

  14.         static char str[100];        //静态变量,不可更改

  15.         fp.seekg(ios::beg);  // 使得文件指针指向文件头 ios::end 则是文件尾。

  16.         fp >> str;                                        //实现读取功能,遇空格会终止读取

  17.         cout << str << endl;

  18.         fp.close();

  19.         return 0;
  20. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-7-25 07:55:12 | 显示全部楼层
  1. #include <fstream>                //file stream
  2. #include <iostream>

  3. using namespace std;

  4. int main()
  5. {
  6.     fstream fp("I://test.txt", ios::in);
  7.     fstream ft("I://test_2.txt", ios::in | ios::app);

  8.     if (!fp.is_open())
  9.     {
  10.         cerr << "打开文件失败!" << endl;
  11.         return 0;
  12.     }

  13.     static char string[100];
  14.     fp >> string;   // 读取文件1

  15.    
  16.     ft << "Ilovefish.com\n";       //实现写入功能
  17.     ft << string;
  18.     static char str[100];        // 静态变量,不可更改
  19.     ft.seekg(ios::beg);          // 使得文件指针指向文件头 ios::end 则是文件尾。

  20.     ft >> str;                   //实现读取功能,遇空格会终止读取

  21.     cout << str << endl;

  22.     fp.close();
  23.     ft.close();

  24.     return 0;
  25. }
复制代码
据我所知,一个文件不行,但两个文件效果也是一样的。


小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-25 11:11:50 | 显示全部楼层
livcui 发表于 2020-7-25 07:55
据我所知,一个文件不行,但两个文件效果也是一样的。

不是,我的意思是,如果要实现从 文件a 开头插入添加内容的话,由于app模式是在文件尾插入,
是不是得再创建一个新的 文件b,然后把要添加的内容先流到文件b
再从文件a复制内容流向文件b
这样就实现了在文件开头插入内容,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-25 11:22:17 | 显示全部楼层
会飞的萨摩 发表于 2020-7-25 11:11
不是,我的意思是,如果要实现从 文件a 开头插入添加内容的话,由于app模式是在文件尾插入,
是不是得再 ...

嗯,这是我的想法,也许有大佬还有别的思路吧,
但我是想不到只用一个文件的方法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-25 13:51:10 | 显示全部楼层
设置最佳
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-13 03:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表