Bestimmte Zeichen aus einem String lesen??



  • Hallo, ich habe ein string mit dem einem Datum tt.mm.jjjj

    So, jetzt habe ich die Tage schon mit dem Befehl

    strncpy(feldtag,datum,2);
    

    in ein neuen String geschrieben

    Jetzt möchte ich noch den Monat und das Jahr kopieren.

    Wie lese ich also nur Stelle 4-5 bzw 7-10 aus??????

    Grund für den mist..ich will Int Werte erstellen.



  • z.B. Du kannst die einzelnen Zeichen, direkt über einen Index ansprechen!!
    so z.B. (ausreichend für diesen Fall)

    ...
    feldtag[0]=datum[3]; //4. Stelle
    feldtag[1]=datum[4]; //5.   "
    ...
    

    oder du machst es ganz einfach du übergibst nicht die "Startadresse" des Arrays: "datum" als Kopierbeginn, sondern die Adresse des [n] ten Feldes!! Der fkt. ist es letzt endlich egal von welcher Adresse an sie Kopieren muss 🙂

    ...
    strncpy(feldmonat,&datum[3],2); //Kopiert von der Addresse des 4. Zeichens an  nach feldmonat!
    ...
    

    gibt sicher noch andere Varianten!

    gruss

    Irren ist menschlich



  • @quorx
    Das zweite ist wohl die feinere Lösung wobei man es noch etwas schöner schreiben kann:

    strncpy(feldmonat,datum+3,2);
    

    Wenn man schon eine Adresse hat, dann braucht man diese auch nur zu erhöhen 😉


Anmelden zum Antworten