武子 发表于 2015-11-19 03:17:11

char型数组小问题

char test[]="hello world test   desk"

如何实现字符串间的 '\0' 变成一个?

就是变成char test[]="hello world test desk"

康小泡 发表于 2015-11-19 09:28:06

先比较再替换,思路是这个样子的

machimilk 发表于 2015-11-19 09:28:49

中间的是空格ascii是0x20 \0在desk的k的后面看不到的,我猜你的意思是把字符串中间2个或者以上的空格变成1个





#include <iostream>
using namespace std;
int main()
{
        char test[]="helloworld   test   desk";
        char out;//输出的数组
        int val=0;//计数器
        for (int i=0;i<strlen(test);i++)//循环test中的每个字符
        {
                //当连续遇到2个空格就跳过一个
                if (test==0x20 && test==0x20)
                {
                        continue;
                }
                else
                {
                        //正常情况或者是一个空格
                        out=test;
                        val++;
                }
        }
        out=0;//输出字符最后截断
        printf("原来的字符串是\r\n%s\r\n",test);
        printf("修改后字符串是\r\n%s\r\n",out);
        system("pause");
}

dps521 发表于 2015-11-21 15:32:38

一起研究一下呵呵
页: [1]
查看完整版本: char型数组小问题