Warum funktioniert das Beispiel nicht?

03/01/2009 - 12:47 von Ottmar Ohlemacher | Report spam
Hallo,

ich hab das folgende Beispiel aus dem (frei downloadbaren) Buch C von A-Z
(Galileo Verlag) (google: Stichwort Open Book) mit dem gcc unter Debian
Etch kompiliert, aber es tut nicht das was es lt. Buch sollte.

/* suchmenge1.c */
#include <stdio.h>
int main(void) {
char str[20];
printf("Bitte geben Sie nur Zahlen ein: ");
scanf("%[0–9]", str);
printf("%s",str);
return 0;
}

Entsprechend dem Buchautor sollte es wohl alle Zeichen von 0 - 9 ausgeben,
so lange, bis ein anderes Zeichen eingegeben wird.

Tatsàchlich ausgeben tut es aber leider NIX. Es kommt lediglich die Ansage
"Bitte geben Sie nur Zahlen ein:".


Danke für Info.

mfG Ottmar
 

Lesen sie die antworten

#1 Ottmar Ohlemacher
03/01/2009 - 13:02 | Warnen spam
Am Sat, 3 Jan 2009 12:47:31 +0100 schrieb Ottmar Ohlemacher:

Hallo,

ich hab das folgende Beispiel aus dem (frei downloadbaren) Buch C von A-Z
(Galileo Verlag) (google: Stichwort Open Book) mit dem gcc unter Debian
Etch kompiliert, aber es tut nicht das was es lt. Buch sollte.

/* suchmenge1.c */
#include <stdio.h>
int main(void) {
char str[20];
printf("Bitte geben Sie nur Zahlen ein: ");
scanf("%[0–9]", str);
printf("%s",str);
return 0;
}

Entsprechend dem Buchautor sollte es wohl alle Zeichen von 0 - 9 ausgeben,
so lange, bis ein anderes Zeichen eingegeben wird.

Tatsàchlich ausgeben tut es aber leider NIX. Es kommt lediglich die Ansage
"Bitte geben Sie nur Zahlen ein:".


Danke für Info.

mfG Ottmar



Ok - ich hab den Fehler gefunden.

Scheinbar gibt es da ein Problem bei der Konvertierung von "Dos-Text"
Darstellung und "Unix-Text" Darstellung.

Ich hab den Text per UltraEdit mit Strg+C (WinXP) in ein gemeinsames
Verzeichnis kopiert, worauf Debian in einer VM Zugriff hat. Und obwohl ich
UltraEdit eine Konvertierung in das Unix Textformat verordnet hab, hat UE
aus 0-9 einfach 0.9 gemacht.

Ottmar

Ähnliche fragen