INI之类取读的文件内容如何换行

wld2003 2008-12-29 02:59:44
我有个INI文件,里面是这样的内容:我是中国人。我是地球人。
现在将此内容读取出来:GetPrivateProfileString("PopMsg","内容",DEFAULT_POP_MSG,rtemp,250,cfile);
AfxMessageBox(rtemp);
显示的是:我是中国人。我是地球人。是同一行的。
现在我想把显示内容分成两行。即:我是中国人。
我是地球人。
如在INI文件内容改成:我是中国人。\n\r我是地球人。则\n\r直接被显示出来,不会产生换行和回车的效果。
该如何操作,谢谢各位指点。
...全文
1915 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
cl_king 2010-10-13
  • 打赏
  • 举报
回复
灰常感谢
lwx300 2008-12-30
  • 打赏
  • 举报
回复
#define MAXBUFSIZE 2048

CString strBuffer;
::GetPrivateProfileString(_T("AppName"), _T("KeyName"), _T(""), strBuffer.GetBuffer(2048), 2048, _T("C:\\1.ini"));
strBuffer.ReleaseBuffer();
strBuffer.Replace(_T("\\r\\n"), _T("\r\n"));
annywoody 2008-12-29
  • 打赏
  • 举报
回复
没看明白lz啥意思
全当帮顶了
用户 昵称 2008-12-29
  • 打赏
  • 举报
回复
存的时候将0x0a变成\\n,取的时候将\\n变成0x0a
wld2003 2008-12-29
  • 打赏
  • 举报
回复
GetPrivateProfileString遇到\r\n,,不会结束的,只是把它们当成普通的字符来处理。就是直接显示出来的。
zzz822163 2008-12-29
  • 打赏
  • 举报
回复
GetPrivateProfileString遇到\r\n就结束了,所以你读不到下一行的
写成2个键值也不麻烦啊
ilovedrv 2008-12-29
  • 打赏
  • 举报
回复
做两个键值不是很好吗,干吗还要再自定义格式解析一遍,要是觉得冗余,还是用xml的好,简单清晰
jyh_baoding 2008-12-29
  • 打赏
  • 举报
回复
自己编辑格式,在换行的地方做特殊字符,读出后用换行符替换,或把原内容做两个键值读取,完成后加入换行符在连接其他字符
wwwzxl 2008-12-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Mackz 的回复:]
读出以后再插入换行符,或者你的ini中就分成两个项目,读出以后再连接,中间插入换行符。
[/Quote]up
wld2003 2008-12-29
  • 打赏
  • 举报
回复
除了自己解析,用程序实现手工换行。
还有别的方法吗。
自己解析我能实现的。
TearyWang 2008-12-29
  • 打赏
  • 举报
回复
\r\n只是数据里的效果。你现在需要的应该是显示吧?

如果是AfxMessageBox()的话,有\n就能换行。
如果是CEdit中输出的内容,就是\r\n的效果。
如果是输出到文件,希望在记事本里显示的时候有回车换行的效果,就是\r\n就行。不过SetPrivateProfileString()函数,在写入INI文件的时候,可能会把\r\n中的一个或两个,换成其它字符来保存,然后GetPrivateProfileString()函数,读取的时候,又会把这个字符改回来。
菜牛 2008-12-29
  • 打赏
  • 举报
回复
读出以后再插入换行符,或者你的ini中就分成两个项目,读出以后再连接,中间插入换行符。
cnzdgs 2008-12-29
  • 打赏
  • 举报
回复
可以用\n作为特殊标记来表示换行,程序读出内容后,自己替换一下,把"\\n"替换为" \n"。
CodeProject-Jerry 2008-12-29
  • 打赏
  • 举报
回复
1. 将换行符用 其它特殊字符编码, 读取出来的时候解码

2. 换用XML做配置文件, CDATA类型随便存

16,548

社区成员

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

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

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