Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » sscanf macht nicht, was ich will... ;)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.03.2005, 11:58 Uhr
~dcdead
Gast


Ich programmier eigentlich Java, aber jetzt muss ich mal was in c machen...

Das Problem ist folgendes:

Ich hab ein Textfile, desen Zeilen jeweils so aussehen:

ReceiverID dd at xxxxxxxx Receiver cccccccc Sl:dd

wobei d = digit, c=char und xxxxxxx eine beliebig lange url ist.


Ich möchte nun den Achttelligen String hinter Receiver auslesen und speichern.

Das hab ich folgendermaßen probiert:


C++:
FILE *f=fopen("/tmp/file.txt", "rt");
char idArray[8];

if (f)
{
     int len = 0;
    while(fgets(buf, 256, f))
    {
            sscanf(buf, "Receiver %8s Sl",  idArray);
    }
    fclose(f);
}



Allerdings speichert er mir dann nicht wie gewünscht den achstelligen String, sondern das "ID" von ReceiverID.

Jemand ne Ahnung wie man das lösen könnte?


Bearbeitung von typecast:
cpp-Tags korrigiert

Dieser Post wurde am 18.03.2005 um 13:15 Uhr von typecast editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.03.2005, 12:52 Uhr
Th



Du mußt natürlich erst den vorherigen String "ReceiverID dd at xxxxxxxx" überlesen:
scanf ist keine Suchfunktion!

so müßte es gehen:

C++:
// ReceiverID dd at xxxxxxxx Receiver cccccccc Sl:dd

int dd;
char x[256];
char idArray[8];
sscanf(buf, "ReceiverID %d at %s Receiver %s", &dd, &x, &idArray);



Außerdem solltest du zeilenweise den Buffer einlesen (wenn du alle Zeilen verarbeiten willst, nicht nur die erste).
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.03.2005, 13:12 Uhr
~dcdead
Gast


Ok, vielen Dank, es klappt so
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: