鱼C论坛

 找回密码
 立即注册
查看: 3047|回复: 7

本人新手,请大家教我下。。

[复制链接]
发表于 2013-9-5 08:40:42 | 显示全部楼层 |阅读模式
1鱼币
#include <fstream>
#include <iostream>

using namespace std;

int main()
{
        fstream fp("test.txt", ios::in | ios::out );
      if( !fp )
      {
            cerr << "打开文件失败!" << endl;
            return 0;
      }

      fp << "IloveFishc.com!";

      static char str[100];

      fp.seekg(ios::beg);// 使得文件指针指向文件头 ios::end 则是文件尾。
      cin>>str;
      fp << str;
      cout << str << endl;

      fp.close();

      return 0;
}

这段代码我想不覆盖直接在开头添加该怎么办,比如我输入abcd,我想文件输入abcdIloveFishc.com!,但是这个每次都被覆盖成abcdeFishc.com!.....大家帮帮我。。。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-5 09:00:05 | 显示全部楼层
可以先读出来每行,在进行操作
char temp[200];
char str[100];
char insert[100];
for(int i = 0;i<strlen(insert);i++)
   {temp[i] = insert[i];}
for(int j = 0;j<strlen(str);j++)
{temp[j+i] = str[j];}
sprintf()//直接打印到文件,格式我忘了...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-5 09:07:26 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-5 16:48:05 | 显示全部楼层
落。尘 发表于 2013-9-5 09:07
我一开始也是这么想的,但是这个貌似有点烦,有木有简单一点的。。不过还是谢谢啦

闹呢,简单的
fseek找到地址,你用回车符打入,在回档键
文本里的东西,本身是连续的,你想简单点,这个方法可以,我以前写log的时候用过
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-5 21:41:18 | 显示全部楼层
没有什么好办法,你可以把文件全部读到一个字符数组里,然后再从头将所有要写入的内容重新写入。
这个就像你想在一个很长的数组的头部增加几个字符一样,很麻烦,肯定要移动数组的所有元素,所以还不如自己重新写次文件。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-6 09:43:42 | 显示全部楼层
仰望天上的光 发表于 2013-9-5 21:41
没有什么好办法,你可以把文件全部读到一个字符数组里,然后再从头将所有要写入的内容重新写入。
这个就像 ...

看来只能这样了。。谢谢啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-6 09:45:55 | 显示全部楼层
刹那芳华 发表于 2013-9-5 16:48
闹呢,简单的
fseek找到地址,你用回车符打入,在回档键
文本里的东西,本身是连续的,你想简单点,这个 ...

谢啦,我去试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-3 03:45:23 | 显示全部楼层
按照行来说写
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 04:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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