Parcourir une chaine en C

céline -  
 céline -
Bonjour à tous,
SI vous pouvez me montrez comment faire pour parcourir une chaine de caractere en C.
merci
A voir également:

1 réponse

Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention   329
 
Bonsoir
char chaine[] = "Hello!";
int iterateur=0;
while(chaine[iterateur] != '\0') { //En C, le caractère \0 correspond à la fin de ta chaine
 //Tu mets ton code ici
 iterateur++;
}


Cordialement,
2
céline
 
merci MARCO
en fait jai une fonction " get_word" qui doit retourner les mots de la chaines séparés par uné space


voila ce que j'ai fait: est ce que c comme ca on fait quand la fonction retourne un type chaine caractere.
Help pliz
merci


char * getword (char[50] ligne)
{
char word [50];
for(int j=0, j< strlen(ligneà; j++){
if(substr(ligne; 1;i)==""
word =substr(ligne; 1;i);
}
return word
}
0
Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention   329 > céline
 
Salut,
Tu n'as pas besoin de te compliquer la vie autant. Si tu as le droit de modifier la chaine d'entrée, tu peux faire ceci :
char * getword (char[50] chaine)
{ 
    for(int j=0; j<strlen(chaine); j++){
            if(chaine[j]==' ')
                            chaine[j]=',';
    }
    return chaine;
}


Si par contre tu n'as pas le droit de la modifier, je te conseille de créer un char* de même taille que ta chaine d'entrée, de parcourir la chaine caractère par caractère et de copier chaque caractère dans ta nouvelle chaine un par un (sauf quand tu lis un espace, dans ce cas tu écris une virgule). C'est mieux que d'utiliser strcpy (qui va parcourir ta chaine), puis de la reparcourir pour modifier les espaces en virgules.
0