char型数组小问题
char test[]="hello world test desk"如何实现字符串间的 '\0' 变成一个?
就是变成char test[]="hello world test desk" 先比较再替换,思路是这个样子的 中间的是空格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");
}
一起研究一下呵呵
页:
[1]