Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Bei Leerstring IF

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
25.10.2005, 13:20 Uhr
dt2158



Also der Betreff is wohl etwas verwirrend, ich versuche ma mein Problem zu schildern...


C++:
char textlist[10][20];



gebe "strings" mit printf und scanf in for-schleife ein und aus


C++:
printf("%s\n", textlist[i])



nun wollte ich wenn kein string eingeben wird, also gleich auf enter gehauen, einen string ausgegeben, dass man eine eingabe machen müsste

wie mir scheint wird bei leerer eingabe das enter ignoriert und der string nich geschrieben, weil sonst würde ich ja mittels




C++:
  if(textlist[i][0]=='\0')


das "abfangen"


stadtdessen wird stillschweigend in die nächste zeile gesprungen... und erneut auf die eingabe erwartet...

wie kannt ich auf eine leere eingabe reagieren und meinen senf ausgeben... ?

gruß

<c-seit-5-stunden-kenner>

dt2158
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.10.2005, 13:27 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Wie liest du die denn ein? mit scanf() z.B. reicht es normalerweise nicht aus einfach Enter zu drücken, du musst etwas eingeben
Dieser Post wurde am 25.10.2005 um 13:28 Uhr von Guybrush Threepwood editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.10.2005, 13:34 Uhr
dt2158



ja mit scanf...

also dh. konkret man kann das mit scanf nicht realsieren???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.10.2005, 13:39 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Oh hab einen deiner Sätz falsch gelesen

Nein, aber mit gets() gehts es. Am Besten nimmst du aber fgets() weil du da angeben kannst wieviele Zeichen du lesen willst. So stellst du sicher das nicht mehr in den String geschrieben wird wie reinpasst.

Das säh dann so aus

C++:
fgets(textlist[i],19,stdin);

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.10.2005, 14:05 Uhr
dt2158



ähhh? ja...

also fgets akzeptiert aber genau so kein "nullstring" sondern will in der nächsten zeile eine eingabe....!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
25.10.2005, 14:07 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Nein das stimmt nicht, dann machst du etwas falsch. Zeig doch mal wie genau du den String einliest.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
25.10.2005, 17:56 Uhr
~Dt2158
Gast


stimmt...

hatte scanf nich auskommentiert, aber fgets davor eingefügt...


irgendwie wurde das verschluckt *grübel*

nun gehts, aber fgets produziert automatisch immer ein \n (leerzeile) dahinter???
 
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: