Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    113

    [C] confronto tra stringhe

    Ciao, ho questo dubbio: di solito quando vado a confrontare un campo con specificatore di tipo char, quindi una stringa di una struttura con un'altra stringa faccio così

    codice:
    char buffer[] = "aprile";
    ...
     v = strcmp(preno[i].mese, buffer);
            if ( preno[i].giorno == 12 && v == 0) {
    ...
    ma vorre evitare di utilizzare la variabile buffer per il confronto e pensavo di fare in questo modo
    codice:
    ...
    if ( preno[i].giorno == 12 && preno[i].mese == "aprile" ) {
    ...
    m a a quanto pare non funziona..dove sbaglio?
    Grazie

  2. #2
    codice:
    v = strcmp(preno[i].mese, "aprile");
    La seconda è sbagliata, dato che == fa un confronto tra puntatori e non di contenuto.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    La variabile buffer la puoi evitare ma la strcmp no

    if( preno[i].giorno ==12 && strcmp(preno[i].mese, "aprile") == 0){
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    113
    OK benissimo. grazie tanto

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 © 2024 vBulletin Solutions, Inc. All rights reserved.