我是 C 新手,正在学习 C90。我正在尝试将字符串解析为命令,但我很难尝试删除白色字符。
我的目标是解析这样的字符串:
NA ME, NAME , 123 456, 124 , 14134, 134. 134 , 1
Run Code Online (Sandbox Code Playgroud)
进入这个:
NA ME,NAME,123 456,124,14134,134. 134,1
Run Code Online (Sandbox Code Playgroud)
因此参数内的白色字符仍然存在,但其他白色字符被删除。
我想过使用strtok,但我仍然想保留逗号,即使有多个连续的逗号。
到目前为止我用过:
void removeWhiteChars(char *s)
{
int i = 0;
int count = 0;
int inNum = 0;
while (s[i])
{
if (isdigit(s[i]))
{
inNum = 1;
}
if (s[i] == ',')
{
inNum = 0;
}
if (!isspace(s[i]) && !inNum)
s[count++] = s[i];
else if (inNum)
{
s[count++] = s[i];
}
++i;
}
s[count] = …Run Code Online (Sandbox Code Playgroud)