wannabe_nerd
Lieutenant
- Registriert
- Mai 2009
- Beiträge
- 753
Hi leute folgendes Problem:
Ich programmiere in C (c99) und will ein String (um genau zu sein eine ISBN) in ein array einlesen. Der String/ die isbn besteht entweder nur aus zahlen oder aus zahlen mit bindestrichen dazwischen.
Da ich nachher mit den Werten innerhalb des Strings rechnen will, sollten nach möglichkeit beim einlesen die bindestriche ignoriert werden.
ich hatte mir das zunächst so gedacht:
so aber wird dem bindestrich immer der wert 0 zugewiesen, was aber leider bei der nachfolgenden rechnung zu fehlern führt -.-'
Habt ihr eine idee, wie ich scanf dazu überreden kann die bindestriche beim einlesen sozusagen zu überspringen?
mfg wannabe_nerd
Ich programmiere in C (c99) und will ein String (um genau zu sein eine ISBN) in ein array einlesen. Der String/ die isbn besteht entweder nur aus zahlen oder aus zahlen mit bindestrichen dazwischen.
Da ich nachher mit den Werten innerhalb des Strings rechnen will, sollten nach möglichkeit beim einlesen die bindestriche ignoriert werden.
ich hatte mir das zunächst so gedacht:
Code:
void erfasse_isbn(char isbn[])
{
unsigned int i = 0;
int isbn_laenge = 0;
scanf("%30s[^\n]", isbn);
isbn_laenge = strlen(isbn);
for(i = 0; i < strlen(isbn); i++)
{
if(isbn[i] == 45)
{
isbn[i] = 48;
}
}
printf("\n%s <-- ISBN\n\n", isbn);
}
so aber wird dem bindestrich immer der wert 0 zugewiesen, was aber leider bei der nachfolgenden rechnung zu fehlern führt -.-'
Habt ihr eine idee, wie ich scanf dazu überreden kann die bindestriche beim einlesen sozusagen zu überspringen?
mfg wannabe_nerd
Zuletzt bearbeitet: