爱问知识人 爱问教育 医院库

VC对文本文件的操作

首页

VC对文本文件的操作

我想对一个文本文件进行操作,文件中的每一行的数据都是等长的,我想将读取文件,并将其中某一行删掉,不知道怎么实现,于是我又想将那一行数据全部置成0
CFile file;
CString temp,t;
temp="0000000000";

file.Open("data.txt",CFile::modeReadWrite);
file.ReadString(t);
file.WriteString(temp);

file.Close();
不知道为什么不行,如果不读只写的话是可以实现的,但是如果先读后写的话,就写不进去,不知道是为什么.哪位大侠指点一下.

提交回答
好评回答
  • 2006-06-05 15:13:25
      CFile没有ReadString和WriteString函数,只有CStdioFile才有,这也许是笔误。
    但问题的解决方法恰巧在这里:不要用CStdioFile,而应该使用CFile,用Read和Write成员函数,虽然多一个参数,但是却能够实现你所说的功能。
      这是因为CStdioFile从严格意义上来说与CFile相差太大,其对文件操作的函数实际上都是调用的标准I/O函数,而CFile中调用的则是SDK函数,这就导致执行的效果和适用的范围上会有所差别。 另外要特别指出的是,要想将该读取的行全部置为0,还需要在调用了Read之后先调用Seek函数将文件指针移回到该行行首再调用Write函数执行写入的操作,否则会导致写入位置的错误。
      还要特别注意在CFile中读写文件必须处理回车符! 示范代码如下: CFile file; CString sTmp, t("0000000000\n"); int iLen = t。GetLength(); file。Open("data。
      txt", CFile::modeReadWrite); file。Read(sTmp。GetBuffer(iLen), iLen); sTmp。ReleaseBuffer(); file。Seek(-iLen, CFile::current); file。
      Write(t, iLen); file。Close(); GOOD LUCK! 。

    b***

    2006-06-05 15:13:25

类似问题

换一换
  • 程序设计 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):