Dateiendung extrahieren



  • Hallo Allerseits !

    Ich weiss nicht genau, wie ich die Dateiendung aus einem character extrahieren soll. Ich habe folgendes

    typedef struct{
    ...
    char RefFileName[200]; 
    ...
    } itINItype;
    

    dh. ich habe eine Struktur global definiert. In einer anderen Routine will ich nun die Dateierweiterung extrahieren (zB. um auf dem Bildschirm ausgeben).

    char *strptr;
    
    strptr=strrchr(itINI.RefFileName,'.')
    Print(_DNormal, "%s \n", itINI.RefFileName[strptr]); // ???????
    itINI.RefFileName[strptr-itINI.RefFileName]='\0';
    

    strptr ist ein Zeiger auf das letzte '.' nach welchen in der Regel die Dateiendung folgen sollte (in meinem Fall reicht die Annahme). Mit der letzten Zeile setze "schneide" ich die Dateiendung ab, da ich dies für die weitere Verwendung so benötige. Ich muss allerings die Dateiendung noch abspeichern.itINI.RefFileName[strptr] funktioniert nicht und macht eigentlich auch nicht viel Sinn, aber ich weiss gerade nicht wie ich es richtig schreiben soll.

    Danke !!!



  • strptr=strrchr(itINI.RefFileName,'.')
    printf("%s\n", strptr);

    strptr zeigt schon auf den Anfang der Dateiendung. Wenn du das weiter brauchst, strcpy(buffer, strptr);



  • Stimmt *kopfschüttel* ... naja, muss wohl die Hitze sein.

    Danke!



  • du, "char*" oder "char[]" heisst aber nicht "character", sondern pointer auf (respektive array von) chars.
    allgemein nennt man sowas dann auch "c string".


Anmelden zum Antworten