我试图不使用isSpace函数,所以唯一想到的是strcpy但是我收到了一个错误
while ( walker > 0 && strcmp(a[walker - 1],space_const) )
Warning 86: argument 1 conflicts with formal definition
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?space_const是char初始化为" "
char* strTrim(char* string)
{
char* a= string;
char delims[3];
char space_const[] =" ";
char syntax_const[]=" \t\n\v";
size_t walker = strlen ( a );
strcpy(delims,space_const);
/* Trim trailing spaces */
while ( walker > 0 && strcmp(a[walker - 1],space_const) )
--walker;
a[walker] = '\0';
/* Trim leading spaces */
walker = strspn ( a,syntax_const);
memmove ( a, a + walker, strlen ( a + walker ) + 1 );
return extractCmd(a ,space_const );
}
Run Code Online (Sandbox Code Playgroud)
您正在尝试比较字符(小整数)和字符串.
char* a= string;
/*... */
strcmp(a[walker - 1], space_const);
^ character
Run Code Online (Sandbox Code Playgroud)
strcmp 看起来像这样
int strcmp(const char *s1, const char *s2);
^ string ^ string
Run Code Online (Sandbox Code Playgroud)
你可能想要这样的东西:
(a[walker - 1] == ' ' || a[walker - 1] == '\t' || ..)
Run Code Online (Sandbox Code Playgroud)
你应该写一个函数.但最后你会改写isspace.
isspace在第一时间使用?| 归档时间: |
|
| 查看次数: |
335 次 |
| 最近记录: |