Subtraktion
-
Ich habe die Posts eben nur überflogen, wollte aber noch anmerken, dass du bei scanf aufpassen musst, dass noch ein newline-Zeichen im Puffer hockt. Wenn du jetzt ein weiteres scanf aufrufst wird das newline, welches noch im Puffer steht, eingelesen und es schaut so als, als ob das scanf übersprungen wird.
-
Du musst auch aufpassen dass du in scanf die Formatierungszeichen verwendest.
%s steht für einen String. Wenn du nur EIN Buchstabe einlesen willst solltest du %c nehmen, alsoscanf("%c", &Eingabe);
-
Binggi schrieb:
%s steht für einen String. Wenn du nur EIN Buchstabe einlesen willst solltest du
getchar() nehmen.
-
eigentlich solltes du lieber
fscanf(stdin, "%s", s_string);
fprintf(stdout, "%s", s_string);verweden um undefiniertes Verhalten zu vermeiden
mit freundlichen Grüßen
-
O.o schrieb:
eigentlich solltes du lieber
fscanf(stdin, "%s", s_string);
fprintf(stdout, "%s", s_string);verweden um undefiniertes Verhalten zu vermeiden
Was unterscheidet denn ein
printf("%s", s_string)
von einemfprintf(stdout, "%s", s_string)
?
-
Nicht viel
lediglich Geschmackssache und ich finde
es übersichtlicher.auch sollte man statt scanf(); lieber scanf_s(); verwenden,
damit es nicht zu einem Buffer Overflow kommen kann.Wenn man das allerdings nur als Freizeitbeschäftigung macht,
muss es einen nicht umbedingt interessieren
-
O.o schrieb:
Nicht viel
lediglich Geschmackssache und ich finde
es übersichtlicher.Was jetzt, undefiniert oder Geschmackssache?
O.o schrieb:
auch sollte man statt scanf(); lieber scanf_s(); verwenden,
damit es nicht zu einem Buffer Overflow kommen kann.scanf_s()? Was ist denn das?
O.o schrieb:
Wenn man das allerdings nur als Freizeitbeschäftigung macht,
muss es einen nicht umbedingt interessierenWenn es dich nicht umbedingt interessiert, warum dann darüber reden?
-
einigen wir uns auf undefinierte Geschmackssache? :p
mich interessiert es schon irgendwie...
ich weis auch nicht wiesoscanf_s == scanf nur, dass es bei scanf_s nicht
zu einem buffer overflow kommen kann. Allerdings
wird die Funktion nicht von allen Compilern unterstüzt
und ist demach auch nicht einfach portable.schönen Abend noch
-
O.o schrieb:
scanf_s == scanf nur, dass es bei scanf_s nicht
zu einem buffer overflow kommen kann.Die Funktion scanf kann man so benutzen, dass es zu keinem Pufferüberlauf kommt, indem man die maximale Anzahl der einzulesenden Zeichen im Formatstring festlegt.
-
vielen dank an euch alle