Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    28

    [C] Test su stringa letta da file

    Forse il problema è banale, ma mi sfugge qualcosa....
    Ho un file da leggere con dati organizzati così:
    codice:
      
    1082420996	AthlBldg8AP1
    1082421042	AthlBldg2AP3
    1082421096	OFF
    1082421101	AthlBldg2AP3
    1082421196	OFF
    e devo stampare su file i numeri corrrispondenti alle stringhe "OFF", il mio codice non riesce a leggere il test su: if(APa == "OFF")
    Dov'è l'errore?

    Il codice é:
    codice:
     
    #include <stdio.h>
    #include <stdlib.h>
    
    
    int main(int argc, char **args)
    {
      FILE *fpa, *fpbap;
      char in[260];
      int  i, r;
      long timestampa, timeona;
      char APa[15];                                    
      
      
      printf("Inserire il nome del file A: \n\n");
      fgets(in, sizeof(in), stdin);
      in[strlen(in)-1]=0;
      
      fpa=fopen(in, "r");
      if(fpa==NULL)
        {printf("Impossibile aprire il file \n\n");
         return 1;
        }  
                                                       
      fpbap=fopen("UTENTEAP.txt", "a");
      if(fpbap==NULL)
        { printf("Impossibile aprire il file di output UTENTEAP.\n\n");
          return 2;
        }
        
      r=0;       
                                   
      while(!feof(fpa))                                          
      {                                                                                          
        if(fscanf(fpa, "%ld", &timestampa) != EOF)
        if(fscanf(fpa, "%s", &APa) != EOF) 
         fgetc(fpa);   
        printf("\n  Timestamp_a:  %ld   AP_a:  %s \n", timestampa, APa);           
        if(APa == "OFF") 
          if(!feof(fpa))fprintf(fpbap, "%ld  %s \n", timestampa, APa);              
      }    
      fclose(fpa);
      return 0;
    }
    Grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Ricordo di avertelo già detto (ma potrei sbagliarmi ...) ...

    In C le stringhe si confrontano con la funzione

    strcmp

    e non con ==
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    28
    no... è la prima volta, sei intervenuto su un altro quesito sullo stesso codice.
    Per confrontarle, devo inizializzare una stringa = "OFF" e basta confrontarla con i primi 3 caratteri di APa?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Originariamente inviato da danytogo
    no... è la prima volta, sei intervenuto su un altro quesito sullo stesso codice.
    No ... tu eri quello che aveva scritto

    if(APa=APb)

    ...

    Per confrontarle
    Se la variabile APa contiene solamente la stringa OFF allora

    if(strcmp(APa, "OFF")==0)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    28
    OK,

    (gli errori me li ero segnati x modificarli, non mi ricordo di questo... cmq, non importa)

    Grazie mille....

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.