VC对文本文件的操作
我想对一个文本文件进行操作,文件中的每一行的数据都是等长的,我想将读取文件,并将其中某一行删掉,不知道怎么实现,于是我又想将那一行数据全部置成0 CFile file; CString temp,t; temp="0000000000"; file.Open("data.txt",CFile::modeReadWrite); file.ReadString(t); file.WriteString(temp); file.Close(); 不知道为什么不行,如果不读只写的话是可以实现的,但是如果先读后写的话,就写不进去,不知道是为什么.哪位大侠指点一下.
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! 。
答:我建议你去--天下网吧联盟 这里面都是网吧业主和网管交流的论坛,你可以自己注册一个用户进去看看,你可以和他们交流也可以寻求他们的帮助,我想没有你解决不了的问题,...详情>>
答:格式化文本区域的段落标记,用于规定文本和层的属性和位置等。比如: 新浪网 用来规定 新浪网 这三个字居中显示。 文本中心(CENTER)、左(LEFT)或右(R...详情>>