Problem avec un char[]

Résolu
cs_kibab Messages postés 13 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 15 juin 2006 - 22 févr. 2006 à 13:04
cs_kibab Messages postés 13 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 15 juin 2006 - 22 févr. 2006 à 13:33
Bounour a vous tous, je suis nouveau de ce langage et je m'amuse à faire des épreuves diverses.

Ici il y a un petit example mais jái un problem:

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int i = 0;
int z = 0;
int l;
int main()

char index[] = "AF 10000S".
char pr[20];
printf("la string est: %s\n", index);

for (i = 0; i < strlen(index); i++) {
if (isdigit(index[i])) {
printf("%c est un numero", index[i]);
pr[z] = index[i];
z++;
} else {
printf("%c c´est pas un numero", index[i]);
}
}
printf("la string maintenat est: %s\n", pr);
l = strlen(prova);
printf("la string maintenat est longue: %d\n", l);

system("PAUSE");
return;

La printf de l´array pr ca marche pas. J'obtiens 1000 e des autres chose mais je voudrais seulement le numero de l´array.
En effet la longueur de pr n´est pas 7 mais 4.

Merci pour m´aider.

kibab

2 réponses

zaibacker Messages postés 97 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 24 janvier 2018
22 févr. 2006 à 13:27
l = strlen(prova); ? prova ca sort d'où?
printf("la string maintenat est: %s\n", pr); oui ca ne marche pas cest normal quand tu as recopié caractere par caractere de la chaine index vers la chaine pr tu n'as pas recopier l'element de fin de chaine qui est le '/0' . Je crois que le strlen te donne la longueur de la chaine sans ce '/0' exemple strlen(bonjour) = 7 caracteres alors qu'en réalité il en faut 8 pour tenir compte de ce '/0'. Apr`s ta boucle for fais un pr[z]='\0';
3
cs_kibab Messages postés 13 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 15 juin 2006
22 févr. 2006 à 13:33
Excuse moi
c´est l = strlen(pr);

ca marche, merci je ne s´avais pas de \0

A bientot

kibab
0
Rejoignez-nous