c - C 中删除数组中的空格?

标签 c arrays parsing char

我试图从我的数组“secuencia”中删除空格,用户给了我这个条目:

“1 2 3 4 5 6 7 8 9”

我想删除空格,并将其保存在另一个数组中供以后使用。然后,使用“ATOI”转换为整数,就像我对数组“palancas”和“palancaroja”所做的那样。这两个数组只包含一个数字,所以我对它们没有任何问题。

请帮助我...我正在使用 ANSI C 进行编程。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, const char * argv[])
{
    char palancas [20000];
    int palancai;
    char palancaroja[10];
    int palancarojai;
    char secuencia[20000];
    char temp[20000];
    int j = 0;

    printf("Dame El Numero De Palancas:");
    fgets(palancas, 20000, stdin);

    printf("Dame La Posision De La Palanca Roja:");
    fgets(palancaroja, 10, stdin);

    palancai = atoi(palancas);
    palancarojai = atoi(palancaroja);

    printf("Dame La cadena");
    fgets(secuencia, 20000, stdin);

    for (int i = 0; i < palancai; i++) {

        if (secuencia [i] != ' ') {

        temp [i] = secuencia [i];


            printf("%s", temp);


        }
    }
}

最佳答案

这是从字符串中删除空格的最简单方法。

char *SourcePtr = secuencia;
char *TargetPtr = SourcePtr;

while (*SourcePtr != 0)
{
    if (*SourcePtr != ' ')
    {
       *TargetPtr = *SourcePtr;
       TargetPtr += 1;
    }
    SourcePtr += 1;
}
*TargetPtr = 0;

关于c - C 中删除数组中的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11420486/

相关文章:

c++ - 如何解析一个c_str

javascript - 主题内容未定义

java - 多任务: parse space-separated integers from a string

c - 在 Code Composer 中观察变量值

C 程序无法使用用户创建的函数输出正确的值

c - 初始化二维数组时出现段错误

Java arrayList 与 C++ vector

c - 类函数宏的合法用途是什么?

java - 将数字放在特定范围内会给出奇怪的输出

arrays - Scala 中的 Array 和 WrappedArray 有什么区别