c - 如何将带空格的字符串解析为整数

标签 c parsing integer

我有一个表示带空格的整数的字符串——数字按三个分组。

我正在考虑使用 strchrstrcat,如:

char* remove_spaces (char* s)
{
    char* space;
    while (space = strchr(s, ' '))
    {
        *space = '\0';
        strcat(s, space + 1);
    }

    return s;
}

但是,首先,我不确定以这种方式使用 strcat 是否安全,因为要附加的字符串与最终字符串重叠。

接下来,我想知道是否可以使用 sscanf 之类的东西做得更好。

最佳答案

char* trim (char* s)
{
    char* space;
    while (space = strchr(s, ' '))
    {
        memmove(space,space+1,strlen(space));
    }

    return s;
}

关于c - 如何将带空格的字符串解析为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3441322/

相关文章:

php - 为什么告诉服务器将 HTML 解析为 PHP 是个坏主意?

java - 从 String 中的 char 解析 int 时出错

java - 为什么我将 ArrayList 转换为 Integer[] 是错误的?

c++ - 在 c/c++ 中使用 pthread_cond_wait 和 pthread_cond_signal 以循环方式执行多个线程

c - 什么是指向整数数组的指针

c - 需要帮助使我的代码高效

c# - 将 XML 读入数组,不断出现错误

string - Smalltalk:如何检查字符串是否只包含数字?

c - 为什么 (5+10)/2 是 7.0 而不是 7.5? C编程

C 中的字符数组(Puts 与 printf)