Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Anfänger: Öffnen und Speichern von Strings klappt nicht

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 ] [ 2 ] [ 3 ] > 4 <
030
17.08.2003, 19:35 Uhr
Pablo
Supertux
(Operator)


Ich hab mit fscanf versucht, weil ich somit eine ganze Zeile lesen kann.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
031
17.08.2003, 22:35 Uhr
virtual
Sexiest Bit alive
(Operator)


aber nur, wenn keine Leerzeichen im String sind, sonst mußt du soqwas machen wir scanf("%[^\n]s"...);
Anyway: zum lesen einer Zeile besser fgets, weil scanf genau die gleichen Probleme mitbringt wie ein gets.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
032
17.08.2003, 23:01 Uhr
Pablo
Supertux
(Operator)


Komisch komisch. Das habe ich auch geglaubt. Aber die Testdatei hatte als erste Zeile. Hallo Leute

Erstaunlicherweise wurde die ganze Zeile Hallo Leute ausgegeben, all ich printf("%s\n",line); eingegeben hab.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
033
18.08.2003, 08:38 Uhr
virtual
Sexiest Bit alive
(Operator)


Ja, klar, printf funktioniert so. aber ich habe ja auch scanf geschrieben!
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
034
18.08.2003, 09:34 Uhr
Pablo
Supertux
(Operator)


Ich weiß nicht ob fscanf und scanf gleich arbeiten. Ich hab auch fscanf gemeint. Was ich sagen wollte, ist folgendes: Ich hab in fscanf als Format nur %s. Als ich dies Ausgegeben hab wurde die ganze Zeile (sogar mit Leerzeichen) ausgegeben. Das heißt, dass %s in fscanf gerreicht hat, damit Lerrzeichen auch gelesen werden.

Wenn man stdin etwas mit scnaf einliest, muss man allerdings scanf("%[^\n]s"...); benutzen, sonst gehen die Zeichen nach dem ersten Leeerzeichen verloren, was aber mit fscanf nicht der Fall war, Und das fand ich komisch.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
035
18.08.2003, 10:28 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat:
Pablo Yanez Trujillo postete
Wenn man stdin etwas mit scnaf einliest, muss man allerdings scanf("%[^\n]s"...); benutzen, sonst gehen die Zeichen nach dem ersten Leeerzeichen verloren, was aber mit fscanf nicht der Fall war, Und das fand ich komisch.

Kann eigentlich nicht sein, daß sich scanf und fscanf unterschiedlich verhalten. Das Verhalten von fscanf, so wie Du es beschreibst, darf nicht auftreten. Und einen so offensichtlichen Bug in der RTL eines Compilers möchte ich fast ausschliessen.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] [ 3 ] > 4 <     [ 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: