gpt4 book ai didi

c - C 中的 LTRIM 函数

转载 作者:行者123 更新时间:2023-12-01 22:29:36 27 4
gpt4 key购买 nike

我正在尝试用 C 编写一个左修剪函数。有人可以找出我在做什么错误吗

int main()
{
char string2[]=" wind";
ltrim(string2);
int new_len2=strlen(string2);
printf("After trim String2 is <%s>\nLength is %d\n",string2,new_len2);
return 0;
}

void ltrim(char *string)
{
int i=0;
while(string[i]==' ')
{
i++;
string=string+i;
}
printf("inside function string is <%s>---length is %d\n",string,strlen(string));
}

输出:

inside function string is <wind>---length is 4
After trim String2 is < wind>
Length is 7

为什么在修剪后主函数中的字符串没有变化。

最佳答案

不使用的极简解决方案 <string.h>

void ltrim(char *src)
{
char *dst;

/* find position of first non-space character */
for (dst=src; *src == ' '; src++) {;}

/* nothing to do */
if (dst==src) return;

/* K&R style strcpy() */
while ((*dst++ = *src++)) {;}

return;
}

关于c - C 中的 LTRIM 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30140934/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com