C语言实现删除字符串首尾的空格,中间的连续空格只留一个,原来字符串顺序不变

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言实现删除字符串首尾的空格,中间的连续空格只留一个,原来字符串顺序不变相关的知识,希望对你有一定的参考价值。

#include<stdio.h> #include<string.h> char * deblank(char * str) char * left = str;//前面的指针,负责赋值 char * right = str;//后面寻找非空格字符的指针 while (*right)//截至字符串完 if (*right != ‘ ‘) if (left<right) *left = *right;//赋值 left++; if (*right == ‘ ‘&&*(right + 1) != ‘ ‘)//寻找到下一个单词时,对left的操作 *left = ‘ ‘; left++; right++; *left = ‘\0‘; return *str != ‘ ‘ ?str:(str + 1);//防止首单词之前有空格现象 int main() char str[] = " as adadq k "; char *a = deblank(str); int i; for (i = 0; i < strlen(a); i++) printf("%c",*(a+i));//输出流 return 0;

以上是关于C语言实现删除字符串首尾的空格,中间的连续空格只留一个,原来字符串顺序不变的主要内容,如果未能解决你的问题,请参考以下文章

C语言编程:输入字符串s,将s中的前导空格和尾随空格删去,中间连续多个空格缩减

Java中去除字符串中所有空格的几种方法

C语言-删除字符串空格

Java中去除字符串中所有空格的几种方法

c语言 字符串去掉空格

iOS去除字符串首尾空格或某字符