• Viernes 15 de Noviembre de 2024, 05:51

Autor Tema:  Concatenacion  (Leído 1007 veces)

andreina

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Concatenacion
« en: Miércoles 9 de Noviembre de 2005, 17:00 »
0
Hola
Tengo un ciclo for en el cual llamo a una funcion que llena un apuntador de tipo char (contenido), el contenido de ese apuntador lo copio en otra variable de tipo char (prueba), luego le concateno un caracter ("#"). Al final lo que deseo es la variable prueba tenga contenido#contenido#contenido tantas veces como itere en el for. El procedimiento que estoy siguiendo es el siguiente:

for(int i; i<15;i++)
{
   char *codeLineHW;
                char prueba[1000];
   codeLineHW = (char *)malloc(sizeof(char)*lengthHW+1);
                getDocData = GetDocData(codeLineHW);
   strcpy(prueba,codeLineHW);
   strcat(prueba,".");
      
}      

es decir, quisiera que prueba tuviese todo lo que tiene codeLineHW cada vez que itera en el for

No se si el procedimiento que estoy siguiendo es el correcto, apreciaria mucho si me pueden ayudar
Gracias y Saludos de antemano
Andreina

scullyERA

  • Miembro activo
  • **
  • Mensajes: 42
  • Nacionalidad: 00
    • Ver Perfil
Re: Concatenacion
« Respuesta #1 en: Jueves 10 de Noviembre de 2005, 14:59 »
0
    El primer error es que en el ciclo for no inicializas el contador i, tan solo lo declaras y el ciclo "podría" nunca realizarse al no cumplirse la condicion de repeticion i<15, simplemente inicializa el contador i a uno:  &lt;_&lt;
Código: Text
  1.  for (int i=1; i&#60;15; i++)
  2.  
    El error que se ve en el procedimiento de concatenacion es que sobreescribes el nuevo contenido de codeLineHW en prueba, y lo que quieres es concatenarlo, no copiarlo tal cual; es como con los incrementos (contador= contador + 1), primero debes inicializar tu variable prueba a vacía, y luego vas concatenando a su valor anterior el nuevo valor de codeLineHW: :o [/color]
Código: Text
  1.  strcat (prueba, codeLineHW);
  2.  strcat (prueba, &#34;#&#34;);
  3.  
    Ah, y algo más: tu compilador puede ayudarte mucho, familiarízate con él y revisa los valores de todos tus datos a cada paso de la ejecución (que estos errores se pueden localizar de esa forma), presiona Ctrl+F7 e introduces el nombre de la variable que deseas ver su valor. Despues presionas F7 o F8 para ir ejecutando paso a paso tu programa.  ;)
     Hazlo y menciona que errores te arroja tu programa, porque tal parece que nisiquiera te dieron ganas de hacer pruebas de ejecucion.