sscanf() wird nicht akzeptiert.



  • Hallo

    Ich habe den Beitrag vom
    http://www.c-plusplus.net/forum/viewtopic.php?t=93612
    gelesen, und in etwa nachgebastelt:

    // Dev CPP
    
    #include <stdio.h>
    #include <stdlib.h>
    
    #define NEWLINE printf("\n");
    
    int main(int argc, char *argv[])
    {
      int Tag=00, Monat=00, Jahr=00;
      char *buffer="00.00.0000";
    
      puts("Input the date , Format Bsp: 03.11.2004");
      NEWLINE
    
      sscanf(buffer, "%d.%d.%d", &Tag, &Monat, &Jahr);
    
      printf("%s", buffer);
    
      system("PAUSE");	
      return 0;
    }
    

    Ausgabe sieht folgendermassen aus:

    Input the date , Format Bsp: 03.11.2004

    00.00.0000Drücken Sie eine beliebige Taste . . .

    ... ich hoffe ihr riecht mein Problem.

    Vielen Dank.

    Gruss dönerkepap



  • Ist doch klar, dass der dir 00.00.0000 ausgibt, denn buffer ist : char *buffer="00.00.0000"; und den hast du nicht verändert.

    sscanf ist nicht für das Ablesen von Eingaben am Bildschirm gedacht. Was du suchst ist scanf.

    scanf("%d.%d.%d", &tag, &monat, &jahr);

    sscanf(buffer, "%d.%d.%d", &Tag, &Monat, &Jahr);
    macht folgendes. Er schreibt die 00 vom buffer in Tag, die 00 von buffer in Monat und die 0000 von buffer in Jahr.



  • Ahso Danke, hab da was wohl missverstanden 😃
    ...

    Gruss dönerkepap


Anmelden zum Antworten