Archiv verlassen und diese Seite im Standarddesign anzeigen : atoi im Kernel?
Hi
also im User-Bereich kann man ja mit atoi einen String in einen Integer umwandeln. Wie macht man sowas im Kernel, bzw. in 'nem Treiber? Da sagt er mir, daß ihm atoi unbekannt ist.
Gruß, Hendrik
Ja, int atio(const *char) liegt in der stdlib.h, im Kernelbereich könntest du dir zum Beispiel ein eigenes atoi schreiben. Ich habe da mal was in einem spanischen Kernelprogrammierungstext gefunden. Vllt. magst du es mal ausprobieren? Ich kanns grad nicht, bin noch auf der Arbeit. :)
int n_atoi(char *str) {
int res = 0;
int mul = 1;
char *ptr;
for (ptr = str + strlen(str) - 1; ptr >= str; ptr--) {
if (*ptr < '0' || *ptr > '9')
return (-1);
res += (*ptr - '0') * mul;
mul *= 10;
}
return (res);
}
ciao Exi
Hab schon was gefunden... gibt zwei Funktionen namens
simple_strtol
simple_strtoul
welche beide einen (unsigned) long zurück geben.
Funktioniert!
Danke trotzdem für deinen Tip.
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.