26 votes

Comment supprimer le premier caractère d'une chaîne de caractères C ?

Quelqu'un peut-il m'aider ? Je dois supprimer le premier caractère d'un char * en C.

Par exemple, char * contents contient un '\n' comme premier caractère du tableau. J'ai besoin de détecter et d'éliminer ce caractère, en modifiant la variable originale après qu'elle ait été "nettoyée".

Quelqu'un peut-il m'aider avec le code ? Je suis complètement novice en C, et je n'arrive pas à le comprendre.

0voto

S'il trouve le caractère, il l'ignore et continue la boucle.

void remove_character(char* string, char letter) {

int length = strlen(string);
int found = 0;

for (int i = 0; i < length; ++i)
{
    if (string[i] == letter)
    {
        found = 1;
        continue;
    }

    if (found == 1)
    {
        string[i-1] = string[i];
    }          
}

if (found == 1)
{
    string[length - 1] = '\0';
}

}

-1voto

Sam Points 2090

Voici mon code

char  * bastakiniSil(char *contents){
char *p = malloc( sizeof(*p) * strlen(contents) );
int i;
for(i=0; i<strlen(contents); i++)
{
    p[i]=contents[i+1];
}

return p;

}

-2voto

Yaswanth L Points 1

Voici mon code
Si simple

#include <stdio.h>
#include<stdlib.h>
int main()
{
    char *str=(char *)malloc(100*sizeof(char));
    scanf("%s",str);
    str=&str[1];
    printf("%s",str);
    return 0;
}

str=&str[1] // ici 1 indique le nombre de caractères à supprimer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X