Kezdőoldal » Számítástechnika » Programozás » Mi a hiba? Begépeltem ezt a...

Mi a hiba? Begépeltem ezt a Free Pascal programot. Valamiért, a szöveges fájlból való olvasásnál a hatodik betű mindig N.

Figyelt kérdés

program fajlos;

uses crt;

var f : text;

s : string;

a : integer;

begin

a := 6;

assign(f,'proba.txt');

rewrite(f);

writeln('Irja be a nevet.');

repeat

readln(s);

writeln(f,'Name:',s);

Until s<>'';

close(f); {használat után bezárjuk}

write('Welcome:');

reset(f); {mivel ugyanaz a fájl nem szükséges újra hozzárendelni}

{a lényeg, hogy előzőleg bezártuk!!!}

while (NOT EOF(F)) do begin

readln(f,s[a]);

writeln(s);

a := a + 1;

end;

close(f);

writeln('...es ennyi uss entert!');

readln;

end.



2014. márc. 31. 14:57
 1/4 anonim ***** válasza:

Jól látom, hogy a sztring változót a 6-dik karaktertől kezded el feltölteni? A korábbi karakterek mik lesznek?

A másik, hogy ha karakterenként töltesz fel egy sztringet, akkor a hosszát is állítani kell, mert ha jól tudom, a pascal a 0. elem helyén tárolja a hosszát, nem a végén lévő nulla karakterrel jelzi, mint a C.

2014. márc. 31. 15:10
Hasznos számodra ez a válasz?
 2/4 uno20001 ***** válasza:

Így oldanám meg.


program fajlos;

uses crt;

var f : text;

s : string;

a : integer;

ch:char;

begin

a := 1;

ch := 'N';

assign(f,'proba.txt');

rewrite(f);

writeln('Irja be a nevet.');

repeat

readln(s);

writeln(f,'Name:',s);

Until s<>'';

close(f); {használat után bezárjuk}

write('Welcome:');

reset(f); {mivel ugyanaz a fájl nem szükséges újra hozzárendelni}

{a lényeg, hogy előzőleg bezártuk!!!}

while (ch in ['N','a','m','e']) do read(f, ch);

while (NOT EOF(F)) do begin

read(f,s[a]);

inc (a);

end;

close(f);

writeln(s);

writeln('...es ennyi uss entert!');

readln;

end.


Amúgy miért a "s" 6.-ik karakterétől kezdesz egy beolvasni?

2014. márc. 31. 15:28
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:

Kösz a segítséget. Azért a hatodiktól kell beolvasni, mert a szövegesfájlban ez áll:

Name:XXXX

Nekem csak az XXXX kell.

2014. ápr. 1. 16:27
 4/4 uno20001 ***** válasza:
De a string hatodik karaktere nem ugyanaz, mint a fájl hatodik karaktere.
2014. ápr. 1. 17:15
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!