主题 急!(超菜问题)如何在文件一行末追加数据(字符串)

JustHere 2003-12-04 09:58:33
CStdioFile fCityS;
if(fCityS.Open(fileNamePathS,CFile::modeReadWrite))
{
while(fCityS.ReadString(strTempS))
{
fCityS.WriteString("ok");
}
}

怎么会乱码呢?
...全文
48 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
baoyuanzhi 2003-12-05
  • 打赏
  • 举报
回复
有可能乱了.
因为你在同一个文件中操作的,
先是读出一个数据,然后,在写入一个数据,
你有没有考虑读写的时候,文件指针的位置?
syl5005 2003-12-05
  • 打赏
  • 举报
回复
能不能检查'\n \r'然后再加。
newman0708 2003-12-05
  • 打赏
  • 举报
回复
用array把每一行加到数组中,在这里可以进行多次增加删除,等做完后再返送到文件中。

好像效率也不是很高,但是对于要多次增减的倒是很合适。
JustHere 2003-12-04
  • 打赏
  • 举报
回复
楼上的能不能讲清楚点。
SeekToEnd( ) Return Value The length of the file in bytes.
好像不对吧,还有我是要在文件的某一行末,而不是文件末尾追加
lsaturn 2003-12-04
  • 打赏
  • 举报
回复
file.SeekToEnd()
JustHere 2003-12-04
  • 打赏
  • 举报
回复
这个办法我也想过了 感觉效率太低了
有没有其他办法?
Goldcastle 2003-12-04
  • 打赏
  • 举报
回复
好,不错!简单易懂!
wangweixing2000 2003-12-04
  • 打赏
  • 举报
回复
赞成arvid_gs(west)说的,只能这样了!读一句改后再写一句
arvid_gs 2003-12-04
  • 打赏
  • 举报
回复
建议这样写比较好,
其实你写的那样每次加入再读行都欢了,所以就乱了,用一个临时文件.
CStdioFile fCityS;
CString strTempS;
CStdioFile fCityS1;

fCityS1.Open( "c:\\qqq1.txt", CFile::modeCreate| CFile::modeWrite );
if(fCityS.Open("c:\\qqq.txt",CFile::modeReadWrite))
{
while(fCityS.ReadString(strTempS))
{
fCityS1.WriteString(strTempS+"OK\r\n");
}
}
fCityS1.Close();
fCityS.Close();
DeleteFile("c:\\qqq.txt");
CFile::Rename( "c:\\qqq1.txt", "c:\\qqq.txt" );

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧