相关疑难解决方法(0)

如何以标准方式修剪前导/尾随空格?

是否有一个干净的,最好是标准的方法来修剪C中字符串的前导和尾随空格?我会自己动手,但我认为这是一个同样常见的解决方案的常见问题.

c string whitespace trim

168
推荐指数
6
解决办法
31万
查看次数

在C中编写String.trim()

可能的重复:
在C中修剪前导/尾随空格的无痛方法?
修剪C中的字符串

嗨伙计们,我在c中编写String trim方法,这是我提出的代码.我认为它可以消除前导和尾随空格,但我希望代码可以更清晰.你能建议改进吗?

void trim(char *String)
{
int i=0;j=0;
char c,lastc;
while(String[i])
{
   c=String[i];
   if(c!=' ')
   {
     String[j]=c;
     j++;
   }
   else if(lastc!= ' ')
   {
     String[j]=c;
     j++;

   }
   lastc = c;
   i++;
}
Run Code Online (Sandbox Code Playgroud)

这段代码看起来干净吗?

c trim

7
推荐指数
1
解决办法
1万
查看次数

从C中删除字符串中的空格

可能重复:
如何以标准方式修剪前导/尾随空格?

我需要从字符串的开头和结尾删除所有空格,例如,如果我的字符串是

"     hello     world.       "
Run Code Online (Sandbox Code Playgroud)

(没有引号),我需要打印

"hello     world."
Run Code Online (Sandbox Code Playgroud)

我试过这样的事情:

size_t length = strlen (str);
for (newstr = str; *newstr; newstr++, length--) {
    while (isspace (*newstr)) 
        memmove (newstr, newstr + 1, length--);
Run Code Online (Sandbox Code Playgroud)

但它会删除所有空格.

我该如何解决?

c string

0
推荐指数
1
解决办法
715
查看次数

标签 统计

c ×3

string ×2

trim ×2

whitespace ×1