Pascal/Turbo Pascal - Problema con string.

 
Vista:

Problema con string.

Publicado por MR.X (4 intervenciones) el 26/04/2007 21:05:03
Veréis, tengo un problema con un string. En el siguiente código busco poder meter todas las palabras de un archivo de texto en un string. Sin embargo cuando ejecuto el código en vez de aparecerme por pantalla el texto sin espacios, no aparece nada, de lo que deduzco que "palabra" se me queda vacío. ¿Alguna sugerencia?

VAR
f:text;
aux:char;
palabra:string;
i:byte;

BEGIN
assign(f,'prueba.txt');
{$I-} reset(f) {$I+};

i:=0;
While (not EOF(f)) do
begin
repeat
Read(f,aux);
aux:=upcase(aux);
inc(i);
if aux<>' ' then palabra[i]:=aux;
until aux=' ';
Writeln(palabra);
end;
Close(f);
END.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con string.

Publicado por Diego Romero (996 intervenciones) el 26/04/2007 21:59:00
Tu problema está acá:

palabra[i]:=aux;

En esa asignación el largo dinámico de "palabra" no se ha modificado entonces cuando hacer el Writeln(palabra); mostrará cero caracteres. Tu programa quedaría mejor así:

palabra:='';
While (not EOF(f)) do
begin
Read(f,aux);
aux:=upcase(aux);
if aux<>' ' then palabra:=palabra+aux;
end;
Close(f);
Writeln(palabra);

Fíjate que he quitado el repeat.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar