C++ Frage: char-Array einlesen mit fgets --> Wieso überspringt er Zeile?

Code - (Computer, programmieren, Anfänger) Ausgabe - (Computer, programmieren, Anfänger)

1 Antwort

ich finds persoenlich leichter etwas auszuprobieren, als direkt die richtige Loesung zu sagen.

Nu habe ich aber keine Lust mir nen Makefile zu schreiben, daher ist meine Frage mit Vorsicht zu geniessen:

kann es sein, dass du bei scanf_s lieber "%i\n" einlesen solltest?

Nehme an du bestaetigst die Eingabe der Zahl mit enter.

Also ich interpretiere das so, dass er als ersten Namen das enter nimmt, was bei der Eingabe davor uebrig geblieben ist.

CptnWhitebeard 
Fragesteller
 09.12.2017, 19:50

Du Genie:D! Vielen Dank! mit \n nach scanf_s hats zwar nicht geklappt, aber ich hab einfach n getchar() nach scanf gemacht, dass er die Eingabe abfängt und danach macht er mit Spieler 1 weiter :). Vielen Dank für deine Hilfe!

0
DinoMath  09.12.2017, 19:55
@CptnWhitebeard

kein Thema.

ansonsten gibts auch noch sowas wie fflush oder so aehlich, das laesst alle ein und ausgaben abarbeiten und leert diese auch.

1
DinoMath  09.12.2017, 19:54

habe mir scanf_s mal genauer angesehen - wenns so nicht geht wuerde ich mal probieren da lieber scanf zu nehmenoder fgets - steige gerade nicht so durch wo die Unterschiede sind, aber je nach Anspruch muss es ja nur funktionieren, oder?

0
CptnWhitebeard 
Fragesteller
 09.12.2017, 20:06
@DinoMath

scanf kann ich leider nicht ohne _s verwenden.. da macht Visual Studio faxen... also Fehlermeldung usw. weil es unsicher ist usw..

0
DinoMath  11.12.2017, 12:21
@CptnWhitebeard

mehr als nur Warnungen?

man kann damit Programme produzieren, die man exploiten kann, aber als Uebungsaufgabe ist das evtl nicht schlimm, dann kann man die Warnung ignorieren.

Aber muss ja auch nicht, wenns so funktioniert ist ja gut

0