Programación General > C/C++
problema con string
Eternal Idol:
No, habras hecho algo mal ... lo acabo de probar y va sin problemas:
--- 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);char frase[30000];switch(la){ case 1:FILE *g1; g1=fopen("frase.txt","w");printf("Ingrese texto: n");scanf("%s",&frase);fputs(frase,g1);fclose(g1); break; case 2:FILE *g2; 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; 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;}}
el_funa:
ahora me salio bueno pero tengo un pequeño problema que lo que necesito para el programa es que grabe 30000 caracteres y solamente me graba hsata el 1º espacio :/ ahi cm lo podria solucionar es ahi cuando empese colocar el 2 codigo que me solucionaria eso... sl2
Eternal Idol:
Es por usar scanf ...
En donde tenes:
--- Código: C++ ---scanf("%d",&la);
cambialo por:
--- Código: C++ ---char linea[80];fgets(linea, sizeof(linea), stdin);sscanf(linea, "%d", &la);
Y:
--- Código: C++ ---scanf("%s",&frase);
por:
--- Código: C++ ---fgets(frase, sizeof(frase), stdin);
el_funa:
:O filete ahora me funciona el codigo gracias : :D
Eternal Idol:
De nadas B)
Navegación
[*] Página Anterior
Ir a la versión completa