如何用CStdioFile在文本文件中插入一行

如何用CStdioFile在文本文件中插入一行,第1张

如何用CStdioFile在文本文件中插入一行

TRY

  {

      CStdioFile f3( _T("c:\\test.txt"),

          CFile::modeNoTruncate | CFile::modeWrite | CFile::modeRead )

      f3.Seek(0, CFile::begin)//定位到文件开头

      f3.WriteString(_T("111111111\n"))

      f3.WriteString(_T("222222222\n"))

      f3.Seek(0, CFile::end)//定位到文件末尾

      f3.WriteString(_T("\nfffffffff\n"))

      f3.Close()

  }

  CATCH( CFileException, e )

  {

          //异常处理

  }

  END_CATCH

使用CStdioFile打开文件,逐行读取,判断如果是空行,在读取后一行,并判断第一个数字是否是1,如果是,则直接读取后续的行,并存储,如果不是,直接读取后续行并舍弃。

CStdioFile file

if (file.Open(sPath, CFile::Read))

{

CString sText, sLastLine

while (file.ReadString(sText))

{

if (sLastLine.IsEmpty() &&!sText.IsEmpty())

{

if (sText.Left(2) == _T("1 "))

{

... // 处理首行

while (file.ReadString(sText))

{

sLastLine = sText

if (sText.IsEmpty())

break

... // 存储数据

}

}

}

}

}

请采纳答案,支持我一下。

换行符 \n 在 Windows 记事本不会显示,用 Notepad2、Notepad++、UltraEdit 等打开就能看到,或者用 \r\n,或者按楼上所说去掉 CFile::typeBinary。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/bake/11821384.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存