Szerző Téma: Fájlból való kiolvasás.  (Megtekintve 611 alkalommal)

dexi

  • Vendég
Fájlból való kiolvasás.
« Dátum: 2012. január 31. - 11:46:04 »
0 Show voters
Egy kocsirendszer írásába kezdtem, gondoltam hogy ne legyen annyi file egy fájlba mentek minden autót.. na a mentés az jó is. De! Amikor betölteném a következõ a szituáció:
Az autót 0,0,0-ra rakja le tulaj nélkül... print-el megnéztem hogy egyáltalán kiolvassa e az adatokat egyenként(Tehát X pos Y pos... stb..).. És a gond az  hogy nem!.. Csak egy komplett sort olvas ki..
 

public OnFilterScriptInit()
{
new File:vehfile = fopen(\"vehicles.txt\",io_readwrite);
new params[256];
new
    Model,
    Float:X,
    Float:Y,
    Float:Z,
    Float:A,
    C1,
    C2,
    RD,
    T[MAX_PLAYER_NAME];
new kocsik;
if(vehfile)
{
    sscanf(params,\"d,f,f,f,f,d,d,d,s\",Model,X,Y,Z,A,C1,C2,RD,T);
while(fread(vehfile,params))
    {
   printf(\"CreateVehicle(%d, %f, %f, %f, %f, %d, %d, %d);\",Model,X,Y,Z,A,C1,C2,RD); // Itt mindenhol 0 található.
   printf(\"Tulaja^: %s\",T); // Itt semmit sem ír...
        printf(\"%s\",params); // És itt kiírja a sort rendesen.
        kocsik++;
    }
    printf(\"%d DB kocsi betöltve.\",kocsik);
}
return 1;
}

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
Fájlból való kiolvasás.
« Válasz #1 Dátum: 2012. január 31. - 14:04:59 »
+1 Show voters
Az sscanf-os részt totál hülyén használtad meg rossz helyre is raktad.
Próbád így:
[pawn]
public OnFilterScriptInit()
{
new File:vehfile = fopen(\"vehicles.txt\", io_read);
new params[256];
new
    Model,
    Float:X,
    Float:Y,
    Float:Z,
    Float:A,
    C1,
    C2,
    RD,
    T[MAX_PLAYER_NAME];
new kocsik;
if(vehfile)
{
   while(fread(vehfile,params))
    {
            sscanf(params,\"p<,>dffffddds[24]\",Model,X,Y,Z,A,C1,C2,RD,T);
      printf(\"CreateVehicle(%d, %f, %f, %f, %f, %d, %d, %d);\",Model,X,Y,Z,A,C1,C2,RD); // Itt mindenhol 0 található.
      printf(\"Tulaja^: %s\",T); // Itt semmit sem ír...
        printf(\"%s\",params); // És itt kiírja a sort rendesen.
        kocsik++;
    }
    printf(\"%d DB kocsi betöltve.\",kocsik);
}
return 1;
}
[/pawn]

dexi

  • Vendég
Fájlból való kiolvasás.
« Válasz #2 Dátum: 2012. január 31. - 14:18:47 »
0 Show voters
Kb 1 hónapja írtad nekem a példát így. Nembaj.. azért köszi!
E: Ugyanaz a szituáció

Dupla hozzászólás automatikusan összefûzve. ( 2012. január 31. - 14:33:56 )

Rájöttem, köszi!
« Utoljára szerkesztve: 2012. január 31. - 14:33:56 írta Fl0rian »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal