Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C] Stringhe

    Ciao a tutti

    potete spiegarmi una cosa? Sto facendo il classico programmino che prende una data
    in ingresso nel formato gg/mm/aa e la restituisce nel formato gg mese aaaa
    Esempio: Input 01/01/55 Output:01 gennaio 1955

    ero arrivato alla parte di stampa del mese...in pratica questo codice funziona:

    printf("\n%.0f ",strtod(data,&ptr));
    printf("%s",mesi[atoi(ptr+1)-1]);

    e questo no

    printf("\n%.0f %s",strtod(data,&ptr),mesi[atoi(ptr+1)-1]);

    Ma non sono due cose equivalenti?
    Dove sta l inghippo? E possibile che il DevC++ sia impazzito magari?

    Saluti!


  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    a me i due modi sembrano sovrapponibili... che errore ti da?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3

    Allora

    guarda con questo codice (immettendo come data 01/01/50)

    printf("\n%.0f ",strtod(data,&ptr));
    printf("%s",mesi[atoi(ptr+1)-1]);

    stampa a video 01 Gennaio

    invece con questo codice

    printf("\n%.0f %s",strtod(data,&ptr),mesi[atoi(ptr+1)-1]);

    stampa a video 01 /01/50

    cioe e come se nel secondo caso la %s si prendesse come puntatore il ptr....ma chi mai lo ha passato???? Bho...adesso kiudo e riapro DEVC++...magari funziona...cma Thanks!


  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Il problema deriva dal fatto che la strtod valorizza l'argomento ptr che diventa valido solamente alla fine della sua esecuzione.

    Se scrivi tutto in una riga, il ptr passato alla atoi non e' ancora valido in quanto la strtod non e' stata eseguita ...

  5. #5

    wow

    giusto non ci avevo pensato! Thanks!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.