Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: muymuyperdido en 1 Enero 2013, 10:46 am



Título: Problema cadenas
Publicado por: muymuyperdido en 1 Enero 2013, 10:46 am
Buenas, tengo un problema con una función que recibe un nombre y se copia en otras cadenas, y finalmente concateno extensiones.
Al compilar no da error en este caso, pero después me da cuando abro los ficheros con ese nombre.
Al hacer la depuración se me quedan las variables asi y no sé si está bien (y los numeros y caracteres raros son direcciones de memoria (?)) o si está mal :|
http://es.zimagez.com/miniature/sinttulo221.jpg

{

    printf("Introduce nombre de archivo sin extension");
    scanf ("%s", dc);
    fflush(stdin);
    strcpy(dp,dc);
    strcpy(dr,dc);
    strcpy(dt,dc);
    strcat(dc,".train");
    strcat(dp,".test");
    strcat(dr,".real");
    strcat(dt,".out");
}


Título: Re: Problema cadenas
Publicado por: leosansan en 1 Enero 2013, 18:56 pm
No funciona el enlace. Mira si lo puedes corregir.
Saluditos!.
.....  :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:


Título: Re: Problema cadenas
Publicado por: muymuyperdido en 1 Enero 2013, 20:43 pm
No funciona el enlace. Mira si lo puedes corregir.
Saluditos!.
.....  :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes: :rolleyes:
http://25.media.tumblr.com/5b5cbc0726d1b14549b5bbc3561e8a54/tumblr_mfypelYaoZ1r7811fo1_1280.jpg
Se supone que tiene que poner
datos.out
datos.train
datos.test
datos.real


Título: Re: Problema cadenas
Publicado por: muymuyperdido en 7 Enero 2013, 09:38 am
Sigue sin funcionarme ._.


Título: Re: Problema cadenas
Publicado por: rir3760 en 7 Enero 2013, 16:59 pm
No es posible ayudarte con solo eso. Publica el código fuente del programa completo o, si es muy largo, su versión mas pequeña donde se genere el error.

Un saludo


Título: Re: Problema cadenas
Publicado por: muymuyperdido en 8 Enero 2013, 14:18 pm
Pero el error está ahi, no sé que falla D:


Título: Re: Problema cadenas
Publicado por: leosansan en 8 Enero 2013, 15:48 pm
Pero el error está ahi, no sé que falla D:
Pues a mí si me funciona:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main()
  6. {
  7.   char dc[25],dr[25],dp[25],dt[25];
  8.   printf("Introduce nombre de archivo sin extension: ");
  9.   scanf ("%s", dc);
  10.   fflush(stdin);
  11.   strcpy(dp,dc);
  12.   strcpy(dr,dc);
  13.   strcpy(dt,dc);
  14.   strcat(dc,".train");
  15.   strcat(dp,".test");
  16.   strcat(dr,".real");
  17.   strcat(dt,".out");
  18.   printf("dc=%s  dp=%s  dr=%s  dt=%s  \n",dc,dp,dr,dt);
  19.   FILE* fichero;
  20.   fichero = fopen("dc", "wt");
  21.   fputs("1", fichero);
  22.   fclose(fichero);
  23.   fichero = fopen("dp", "wt");
  24.   fputs("5", fichero);
  25.   fclose(fichero);
  26.   fichero = fopen("dr", "wt");
  27.   fputs("10", fichero);
  28.   fclose(fichero);
  29.   char linea[81];
  30.   fichero = fopen("dc", "rt");
  31.    if (fichero == NULL){
  32.            printf("No existe el fichero!\n");
  33.            return 1;
  34.        }
  35.    while ((fgets(linea, 80, fichero) != NULL)){
  36.        puts(linea);
  37.        }
  38.    fclose(fichero);
  39.    fichero = fopen("dp", "rt");
  40.    if (fichero == NULL){
  41.            printf("No existe el fichero!\n");
  42.            return 1;
  43.        }
  44.    while ((fgets(linea, 80, fichero) != NULL)){
  45.        puts(linea);
  46.        }
  47.    fclose(fichero);
  48.    fichero = fopen("dr", "rt");
  49.    if (fichero == NULL){
  50.            printf("No existe el fichero!\n");
  51.            return 1;
  52.        }
  53.    while ((fgets(linea, 80, fichero) != NULL)){
  54.        puts(linea);
  55.        }
  56. fclose(fichero);
  57.   return 0;
  58. }
  59.  
  60.  
Especifica mejor el error o pon más código.
Saluditos!.