zahl aus Dateinamen lesen

Carpocalypse

Mitglied
Hi,

ich möchte aus einem Dateiname eine Zahl auslesen, dies funktioniert eigentlich auch. Nur wenn ich eine zahl mit mehr als 1 Stelle z.B. "abc123.dat" habe, komme ich nur an die letze Zahl ran. kann mir da villeicht jemand helfen?
Ich habe es mit StrToInt probiert
 
die funktioniert aber nur, wenn der String nur aus Ziffern besteht. Du musst also den String einzelzeichenweise durchlaufen bis du die erste Ziffer findest, dann den Teilstring herausextrahieren und dann atoi drauf anwenden.
 
Hier mal schnell ein Code-Beispiel für atoi:

Code:
#include <stdio.h>

int main(int a,char **p){
        int zahl1=0,zahl2=0,zahl3=0,zahl4=0;

        char test1[20]="hallo12345hsadh";
        zahl1=atoi(test1);
        printf("string: %s zahl: %d\n",test1,zahl1);

        char test2[20]="12345hsadh";
        zahl2=atoi(test2);
        printf("string: %s zahl: %d\n",test2,zahl2);

        char test3[20]="hallo12345";
        zahl3=atoi(test3);
        printf("string: %s zahl: %d\n",test3,zahl3);

        char test4[20]="12345";
        zahl4=atoi(test4);
        printf("string: %s zahl: %d\n",test4,zahl4);

        return 0;
}

Die Ausgabe ist dann dieses hier:
string: hallo12345hsadh zahl: 0
string: 12345hsadh zahl: 12345
string: hallo12345 zahl: 0
string: 12345 zahl: 12345
 
Zurück