Je veux effacer le dernier caractère d'une chaîne de caractères j'utilise d'abord la fonction strtok Mon entrée est : "Hello World Yaho"
J'utilise " "
comme mon délimiteur
Mes attentes sont les suivantes
Hell
Worl
Yah
Mais la sortie réelle est la suivante
Hello
Worl
Yaho
Comment puis-je résoudre ce problème ? Je ne comprends pas ce résultat
Voici mon code
int main(int argc, char*argv[])
{
char *string;
char *ptr;
string = (char*)malloc(100);
puts("Input a String");
fgets(string,100,stdin);
printf("Before calling a function: %s]n", string);
ptr = strtok(string," ");
printf("%s\n", ptr);
while(ptr=strtok(NULL, " "))
{
ptr[strlen(ptr)-1]=0;
printf("%s\n", ptr);
}
return 0;
}