Programación General > C/C++

 problema con string

(1/2) > >>

el_funa:
bueno miren tengo que hacer este problema el cual no me puede funcionar por 2 pequeños problemas...

miren es este problema

1.   Crear un programa en c que cree un archivo que contenga texto como un cuento ingresado por el usuario, el nombre del archivo debe ser ingresado por el usuario, el máximo de caracteres será de 30.000 caracteres, el programa debe permitir escribir el archivo, ver el archivo y copiar el archivo a uno llamado copia.txt.


--- Código: C ---#include <stdio.h>>#include <stdlib.h> int main(){int la; printf("[1] Ingrese el numero para eligir la opcionn");printf("[2] Ingresar nuevo texton");printf("[3] Ver el texton");printf("[4] Copiar el texto en texto.txtn");printf("[5] SALIRn");scanf("%d",&la);switch(la){     case 1: FILE *g1;char frase[30000];g1=fopen("frase.txt","w");printf("Ingrese texto: n");scanf("%s",&frase);fputs(frase,g1);fclose(g1);            break;                case 2: FILE *g2;char frase[30000];g2=fopen("frase.txt","r");if(g2==NULL){printf("EL ARCHIVO NO EXISTEn");}else{while(!feof(g2)){fgets(frase,30000,g2);printf("%s",frase);fputs(frase,g2);fclose(g2);            break;                case 3: FILE *f1,*f2;char frase[30000];f1=fopen("frase.txt","r");f2=fopen("copia.txt","w");if(f1==NULL){printf("EL ARCHIVO NO EXISTEn");}else{while(!feof(f1)){fputs(fgets(frase,30000,f1),f2);}}fclose(f1);fclose(f2);            break;                case 4: exit(0);            break;                default:             printf("ERROR: ingrese el numero correcton");        break;}        }                system("PAUSE");    return EXIT_SUCCESS;}}   
bueno es pero que me traten de ayudar o solucionar este problema. sl2

Eternal Idol:
¿Y cual es el problema exactamente? Si saco a frase de cada uno de los cases  y la defino una sola vez antes compila, no lo probe.

el_funa:
mira son los problemas que me causa el string   :brickwall: (  char  frase[30000]   )

mira te dejo una foto para que veas lo que me dice el problema

pd: el programa que utilizo es el dev c++

ese es el link :P
fotosupload.com/mostrar.php?imagen=FuD95263_sdfsdfsfsd.jpg

Eternal Idol:
Si, ese problema ya te dije como arreglarlo arriba ... mas especifico, despues de:

scanf("%d",&la);
pones
char frase[30000];

y borras frase en cada uno de los case.

el_funa:
lo ise cm me dijiste pero aun asi tube problemas :/

despues probe cn este codigo que es un poko mas facil pero todavia me da problemas...
el dev c++ me dice que tengo este problema storage size of 'string' isn't known y no se cm solucionarlo :argh:




 
--- Código: C++ ---#include <stdio.h>>#include <stdlib.h>  int main(){char* leer_stdin(char string[30000], int largo); char string[];    {          int i;          int largo=30000;                    setbuf( stdin, NULL );          fgets (string, largo , stdin);          for(i=0; i<largo; i++)              if(string[i]=='n') string[i]='';          return string;          }} { 

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa