Recorrer una cadena en C

céline -  
 céline -
Hola a todos,
Si pueden mostrarme cómo recorrer una cadena de caracteres en C.
gracias
Configuración: Windows Vista Internet Explorer 7.0

1 respuesta

  1. Marco la baraque Mensajes publicados 1030 Estado Colaborador 329
     
    Buenas noches
     char cadena[] = "¡Hola!"; int iterador=0; while(cadena[iterador] != '\0') { //En C, el carácter \0 corresponde al final de tu cadena //Aquí pones tu código iterador++; } 


    Atentamente,
    2
    1. céline
       
      Merci MARCO
      en fait j'ai une fonction "get_word" qui doit retourner les mots de la chaîne séparés par un espace


      voilà ce que j'ai fait : est-ce que c'est comme ça qu'on fait quand la fonction retourne un type chaîne de caractères ?
      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
    2. Marco la baraque Mensajes publicados 1030 Estado Colaborador 329 > céline
       
      Hola,
      No necesitas complicarte tanto la vida. Si tienes derecho a modificar la cadena de entrada, puedes hacer lo siguiente:
       char * getword (char[50] cadena) { for(int j=0; j<strlen(cadena); j++){ if(cadena[j]==' ') cadena[j]=','; } return cadena; } 


      Si, por otro lado, no puedes modificarla, te aconsejo crear un char* del mismo tamaño que tu cadena de entrada, recorrer la cadena carácter por carácter y copiar cada carácter en tu nueva cadena uno por uno (excepto cuando leas un espacio, en ese caso escribes una coma). Es mejor que usar strcpy (que recorrerá tu cadena), y luego volver a recorrerla para modificar los espacios por comas.
      0