Lunes 16 de Diciembre de 2024, 02:31
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
problema con string
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: problema con string (Leído 1902 veces)
el_funa
Nuevo Miembro
Mensajes: 12
problema con string
«
en:
Lunes 29 de Junio de 2009, 06:06 »
0
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
Tweet
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: problema con string
«
Respuesta #1 en:
Lunes 29 de Junio de 2009, 19:04 »
0
¿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.
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
el_funa
Nuevo Miembro
Mensajes: 12
Re: problema con string
«
Respuesta #2 en:
Lunes 29 de Junio de 2009, 20:14 »
0
mira son los problemas que me causa el string
( 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
fotosupload.com/mostrar.php?imagen=FuD95263_sdfsdfsfsd.jpg
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: problema con string
«
Respuesta #3 en:
Lunes 29 de Junio de 2009, 20:42 »
0
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.
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
el_funa
Nuevo Miembro
Mensajes: 12
Re: problema con string
«
Respuesta #4 en:
Lunes 29 de Junio de 2009, 22:46 »
0
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
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
;
}
}
{
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: problema con string
«
Respuesta #5 en:
Lunes 29 de Junio de 2009, 23:23 »
0
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
;
}
}
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
el_funa
Nuevo Miembro
Mensajes: 12
Re: problema con string
«
Respuesta #6 en:
Lunes 29 de Junio de 2009, 23:54 »
0
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
Moderador
Mensajes: 4696
Nacionalidad:
Re: problema con string
«
Respuesta #7 en:
Martes 30 de Junio de 2009, 10:05 »
0
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
)
;
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
el_funa
Nuevo Miembro
Mensajes: 12
Re: problema con string
«
Respuesta #8 en:
Miércoles 1 de Julio de 2009, 03:35 »
0
:O filete ahora me funciona el codigo gracias :
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: problema con string
«
Respuesta #9 en:
Miércoles 1 de Julio de 2009, 08:03 »
0
De nadas
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
problema con string