在字符串中插入换行

忧郁马赛克 2010-12-09 03:59:17
例如这样一串字符串:*#06# *#2561# *#5464879# *#21345# *#2256# ***124#*## **###2134### *#2546# ……怎么样在空格处插入换行?
其效果为:
*#06#
*#2561#
*#5464879#
*#21345#
*#2256#
***124#*##
**###2134###
*#2546#
……
请问用什么函数才能实现?
...全文
454 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
忧郁马赛克 2010-12-10
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 sxqinge 的回复:]

while语句里面加上 *p++;
[/Quote]
没用0,0
忧郁马赛克 2010-12-10
  • 打赏
  • 举报
回复
先结贴··表示有压力
BorrowedStory 2010-12-09
  • 打赏
  • 举报
回复
CString::Replace(_T(" "), _T(" \r\n"));
antion692980794 2010-12-09
  • 打赏
  • 举报
回复
2L正解了~
sxqinge 2010-12-09
  • 打赏
  • 举报
回复
while语句里面加上 *p++;
sxqinge 2010-12-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 chen41345507 的回复:]
引用 2 楼 visualeleven 的回复:

CString::Replace(_T(" "), _T(" \r\n"));

前面的字符串我保留在一个数组里面咋办?
=。=输出出问题。
pdlg->m_edit.ReplaceSel();
[/Quote]
呵呵两个解决办法:
1.用指针读取字符串,遇到空格的话就将其替换为“\n”:
char array[NUMBER];//你的数组
char *p = &array;
while( *p != NULL )
{
if( *p == ' ' )
*p = '\n';
}
2.将数组转换为CString类型,用Format转换;
呵呵以上只是我的想法,LZ可以尝试下,有问题了贴出来再一起探讨
chenjelly 2010-12-09
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zzw820626 的回复:]
引用 2 楼 visualeleven 的回复:

CString::Replace(_T(" "), _T(" \r\n"));

+
[/Quote]
++
zzw820626 2010-12-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 visualeleven 的回复:]

CString::Replace(_T(" "), _T(" \r\n"));
[/Quote]
+
信阳毛尖 2010-12-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 visualeleven 的回复:]
CString::Replace(_T(" "), _T(" \r\n"));
[/Quote]

++1
fjw666 2010-12-09
  • 打赏
  • 举报
回复
直接用replace啊
CString::Replace(_T(" "), _T(" \r\n"));
fishion 2010-12-09
  • 打赏
  • 举报
回复
CString str( "*#06# *#2561# *#5464879# *#21345# *#2256# ***124#*## **###2134### *#2546# " );
CString resToken;
int curPos= 0;

resToken= str.Tokenize(" ",curPos);
while (resToken != "")
{
printf("Resulting token: %s\n", resToken);
resToken= str.Tokenize(" ",curPos);
};

忧郁马赛克 2010-12-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 visualeleven 的回复:]

CString::Replace(_T(" "), _T(" \r\n"));
[/Quote]
前面的字符串我保留在一个数组里面咋办?
=。=输出出问题。
pdlg->m_edit.ReplaceSel();
忧郁马赛克 2010-12-09
  • 打赏
  • 举报
回复
YOYO~~试过之后结帖~..~
还没想好 2010-12-09
  • 打赏
  • 举报
回复
string src = "*#06# *#2561# *#5464879# *#21345# *#2256# ***124#*## **###2134### *#2546#"

replace( src.begin(), src.end(), ' ', '\n' ) ;

注意include相关头文件。
sxqinge 2010-12-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 visualeleven 的回复:]
CString::Replace(_T(" "), _T(" \r\n"));
[/Quote]
2楼高人正解,哈哈
sxqinge 2010-12-09
  • 打赏
  • 举报
回复
设一个指针指向字符串的开始处,然后遍历字符串,当遇到空格的时候,插入"\n\r"字符串;
这样理论上应该是可以实现的吧?
Eleven 2010-12-09
  • 打赏
  • 举报
回复
CString::Replace(_T(" "), _T(" \r\n"));
kkmqj 2010-12-09
  • 打赏
  • 举报
回复
CString::replace ?

16,473

社区成员

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

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

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