| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 514 人关注过本帖
标题:谁能帮助我一下。
只看楼主 加入收藏
战士
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:147
专家分:0
注 册:2006-2-19
收藏
 问题点数:0 回复次数:6 
谁能帮助我一下。
求助:
把一个字符串中所有\t转换成四个*,\t的个数不定。 有会的帮我写下。
搜索更多相关主题的帖子: 字符串 
2008-05-26 12:43
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
收藏
得分:0 
用循环,字符串也是字符数组,所以替换为4个*的时候要记得把后面的字符向后移动。建议做一次完整的扫描,把位置都记录下来,移动的时候一次到位,然后把空余的位置替换成*。不要替换一次移动一次,那样效率较低。
2008-05-26 15:42
bibingyan
Rank: 1
来 自:湖南长沙
等 级:新手上路
帖 子:123
专家分:0
注 册:2008-3-16
收藏
得分:0 
用KCM模式匹配!可以提高运行效率

不嫌恶地狱,不迷恋人间,不羡慕天堂。
2008-05-26 23:05
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 
这个有用:

#include <stdio.h>
#include <string.h>

int main()
{
    char str[] = "abc\tcba\tsdfe\tdfg\tdfg";
    char strOut[1024] = {0};
    int slen = strlen(str);

    for(int i = 0; i < slen; i++)
    {
        if(str[i] == '\t') sprintf(strOut, "%s****", strOut);
        else if(str[i] == 0) break;
        else sprintf(strOut, "%s%c", strOut, str[i]);
    }
    printf("%s\n", strOut);

    return 0;
}

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-05-27 14:17
战士
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:147
专家分:0
注 册:2006-2-19
收藏
得分:0 
谢谢了。

在漫长的历史长河中,我的人生只是其中一个浪花!
2008-05-28 01:05
战士
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:147
专家分:0
注 册:2006-2-19
收藏
得分:0 
if(str[i] == '\t') sprintf(strOut, "%s****", strOut);

  else sprintf(strOut, "%s%c", strOut, str[i]);
这两句代表输出的是什么?

在漫长的历史长河中,我的人生只是其中一个浪花!
2008-05-28 01:07
战士
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:147
专家分:0
注 册:2006-2-19
收藏
得分:0 
KCM模式是什么?

在漫长的历史长河中,我的人生只是其中一个浪花!
2008-05-28 01:08
快速回复:谁能帮助我一下。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019799 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved