Kezdőoldal » Számítástechnika » Programozás » Pawn (C/C++/C#) -ban az fseek...

Pawn (C/C++/C#) -ban az fseek () függvényről gőzöm nincs miért csinál ilyet?

Figyelt kérdés

Nyelv: Pawn, de ha jól tudom a fájlkezelés hasonló (mivel a pawn C/C++ -ban íródott)


Az fseek() függvény ugye pozicionál a fájlban.


[link]


Az fread() függvény visszatér a beolvasott karakterek számával, az fwrite() pedig a kiírt karakterek számával. A következő kódpéldában pedig a strfind() -os kritériumos rész CSAK AKKOR hajtódik végre ha a temp sztringben NINCS MEG a keresett literal ("" jelekkel megadott) sztring.


Az alapvető cél h a megkeresett sztring sorát átírjuk


#include <file>

#include <string>



main()

{

new File: f;

f = fopen( "test1.txt" );

new temp[ 128 ];

new offset;

while((offset = fread( f, temp ))) // Double brackets to avoid unintended assignment warning

{

if( strfind( temp, "string what i search for", false ) != -1 )

{

fseek( f, -offset, seek_current );

fwrite( f, "here is the string what I want to take to the line" );

}

}

fclose(f);

}


A könyvtárban található test1.txt eredeti tartalma futtatás előtt:


1. line: test1

2. line: second

3. line: pawn

4. line: scripting

5. line: forum

6. line: next line is the topic

7. line: so, string what i search for blablabla

8. line: plus 8th line

9. line: plus 9th line

10. line: the very last

11. EOF


Futtatás után (a futtatás le kell állítani mert végtelen ciklus jön elő, és az adott 3 sor leállításig folyamatosan íródik a fájlba):


1. line: test1

2. line: second

3. line: pawn

4. line: scripting

5. line: forum

6. line: next line is the topic

here is the string what I want to take to the line line: scripting

5. line: forum

6. line: next line is the topic

here is the string what I want to take to the line line: scripting

5. line: forum

6. line: next line is the topic

here is the string what I want to take to the line line: scripting

5. line: forum

6. line: next line is the topic

here is the string what I want to take to the line line: scripting

5. line: forum

6. line: next line is the topic

here is the string what I want to take to the line line: scripting

5. line: forum

6. line: next line is the topic

here is the string what I want to take to the line line: scripting

5. line: forum

6. line: next line is the topic

here is the string what I want to take to the line line: scripting

5. line: forum

6. line: next line is the topic

here is the string what I want to take to the line line: scripting


Nagyon fontos lenne nekem ez, pls akinek van vmi ötlete írjon :S


Köszönöm, Üdv


2012. júl. 31. 17:00
 1/2 anonim ***** válasza:

Le kéne kérni a megtalált sztring prozícióját, odamenni, és oda írni. Ehelyett azt csinálod, hogy visszaugrasz annyival, amennyit beolvasott a legutóbbi helyről kezdve, oda írsz. Nem veszed figyelembe, hogy a megtalált sztring valahol a puffer közepén is lehet.


Végül kialakul egy ciklus, hogy beolvas valamennyit, visszaugrik valamennyit, megint beolvas ugyanannyit, megint visszaugrik valamennyit blablalba, itt a végtelen ciklus.

2012. júl. 31. 17:37
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:

Köszönöm a választ.


"Le kéne kérni a megtalált sztring prozícióját, odamenni, és oda írni. Ehelyett azt csinálod, hogy visszaugrasz annyival, amennyit beolvasott a legutóbbi helyről kezdve, oda írsz. Nem veszed figyelembe, hogy a megtalált sztring valahol a puffer közepén is lehet."


Értem, de ahogy a kérdésben írtam én azt a teljes sort át szeretném írni amiben van, ezért lépek vissza annyit amennyit beolvasott.


"Végül kialakul egy ciklus, hogy beolvas valamennyit, visszaugrik valamennyit, megint beolvas ugyanannyit, megint visszaugrik valamennyit blablalba, itt a végtelen ciklus."


De ez a ugrás-írás ahhoz a kritériumhoz van kötve h megtalálja a sorban - amit éppen átírunk másra, sőt az fwrite() a kurzorpozíciót viszi tovább tehát nem az lenne logikus ha a program a beírt sor utáni sorral folytatná az olvasást?


Nagyon köszönöm, üdv

2012. júl. 31. 19:37

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!