从C中的数组中删除的空间? [英] Remove spaces from an array in C?

查看:174
本文介绍了从C中的数组中删除的空间?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从我的阵列secuencia删除空格,网友给我这个条目:

1 2 3 4 5 6 7 8 9

我想删除的空间,并将其保存在另一个数组供以后使用。然后,用转换ATOI为整就像我的阵列palancas和palancaroja做的。这两个阵列仅含一个号码,所以我没有问题,和他们在一起。

请帮我...我在编程ANSI C

 的#include<&stdio.h中GT;
#包括LT&;&stdlib.h中GT;
#包括LT&;&string.h中GT;INT主(INT ARGC,为const char * argv的[])
{
    焦炭palancas [20000]
    INT palancai;
    炭palancaroja [10];
    INT palancarojai;
    焦炭secuencia [20000]
    焦温[20000]
    INT J = 0;    的printf(圣母院厄尔尼诺NÚMERO德Palancas:);
    与fgets(palancas,20000,标准输入);    的printf(圣母院香格里拉Posision德拉帕兰卡罗亚:);
    与fgets(palancaroja,10,标准输入);    palancai =的atoi(palancas);
    palancarojai =的atoi(palancaroja);    的printf(圣母院香格里拉卡德纳);
    与fgets(secuencia,20000,标准输入);    的for(int i = 0; I< palancai;我++){        如果(secuencia由[i]!=''){        临时[I] ​​= secuencia [I]
            的printf(%S,温度);
        }
    }
}


解决方案

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

 的char * SourcePtr = secuencia;
字符* TargetPtr = SourcePtr;而(* SourcePtr!= 0)
{
    如果(* SourcePtr!='')
    {
       * TargetPtr = * SourcePtr;
       TargetPtr + = 1;
    }
    SourcePtr + = 1;
}
* TargetPtr = 0;

I am trying to remove the spaces from my array "secuencia", the users give me this entry:

"1 2 3 4 5 6 7 8 9"

I want to remove the spaces, and save it in another array for later. Then, convert to integer with "ATOI" like I do with the arrays "palancas" and "palancaroja". Those two arrays only contained one number, so I had no problem with them.

please help me... I am programming in 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);


        }
    }
}

解决方案

This is the simplest way to remove spaces from a string.

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

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

这篇关于从C中的数组中删除的空间?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆