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

    [C] problema di ripetizioni di printf (2°)

    Posto di nuovo il mio problema perche mi sono incasinato un po':

    questo è il codice originale che funziona perfettamente:

    codice:
    while(fgets(s,254,FileIn))
      
                  {                
                       if (strstr (s, par) != NULL)
                       {
                       printf ("%s\n", s);
                       y++;
                       }
                       else 
                       
                       x++;
                   }
    questo pezzettino di code non fa altro che aprire il mio file TXT, scandire ogni riga di esso e ripone ogni riga in CHAR S, quindi ipoteticamnte posso avere per esempio 10 S diversi;

    poi controlla che la variabile CHAR par sia contenuta in S e mi stampa tutte le S dove è contenuto par;

    anche i miei par possono essere tanti, quindi al secondo passaggio, al cambio del par mi ricontrolla tutte le mie S e mi ristampa a video tutte le S dove è contenuto il nuovo par;

    PROBLEMA DI RIPETIZIONI le S che mi ha stampato nel primo passaggio non deve più ristamparmele nei successivi ...

    Scusate se mi sono dilungato un po' ma sono incasinato e non riesco a risolvere il problema

    GRAZIE A TUTTI CIAO

  2. #2

    PROVA

    Ho provato con questo:

    codice:
    while(fgets(s,254,FileIn))
      
                  {                
                       if (strstr (s, par) != NULL)
                       {
                       
                       for(f=0;!EOF;f++){
                                      
                       char *app; //stringa di appoggio per la verifica...
                       strcpy(app[f],s);
    
                       printf ("%s\n", app[f]);
                       y++;
                       }
                       }
                       else 
                       
                       x++;
                   }

    però non va sarà pieno di errori ...


    In questo modo volevo fare: quando trova che par è contenuto in S me lo salva in app[f] dove f è il contatore.

    Ma al secondo passagio al ambio della S e del Par mi ritorna a zero la f? oppure continua a contare?

    Volevo avere tutti i miei risultati in CHAR app per poi confrontare quelli che si ripetono e non stamparli ...

    Meglio ancora quando ho tutti i miei app quelli che si ripetono stamparli per primi in base a quante volte sono ripetuti ...

    COMPLICATINO?

    QUALCUNO è IN GRADO DI AIUTARMI O DARMI DELLE DRITTE?

    GRAZIE A TUTTI

    ciao ciao

  3. #3
    Non ho capito bene il problema, tu vuoi scorrere le righe di un file di testo e stampare solo quelle che contengono la stringa memorizzata in par ?

    Se si prova così:

    codice:
    while(!feof(FileIn)) {
        fgets(s,254,FileIn);
        if(!strstr(s,par)) 
            printf("%s\n",s);
    }
    La luce è più veloce del suono,ecco xchè alcune persone sembrano brillanti fino a quando non parlano


  4. #4
    esattamente così ho capito e funziona.

    ma se nel secondo ciclo il par cambia è un'altra stringa,

    esempio

    primo ciclo

    par da cercare: "gatto"

    risultato mi stampa le seguenti S righe:

    www.gattotopo.it
    www.ilgatto.it

    ok

    secondo cilcio

    par da cercare: "topo"

    risultato mi stampa le seguenti S righe:

    www.gattoetopo.it
    www.iltopo.it

    Nel secndo ciclo non voglio fargli ristampare "www.gattoetopo.it" perchè l'aveva già stampato nel primo ciclo

    ma siccome lo ha trovato sia nel primo che nel secondo volevo farlo stampare a video per primo

    GRAZIE CIAO

  5. #5
    mi spiego meglio:

    codice:
    while(fgets(s,254,FileIn))
      
                  {                
                       if (strstr (s, par) != NULL)
                       {
                       printf ("%s\n", s); 
                       y++;
                       }
                       else 
                       
                       x++;
                   }

    piuttosto di fare il printf nel codice qui sopra voglio fargli memorizzare le S che trova in un array di stringhe ma che non conosco a priori la dimensione perchè non sò quanti risultati posso trovare ..

    In tal modo potrei così dopo operare sul mio gruppo di stringhe e decidere quali stampare e in che ordine

    Oppure è meglio utilizzare un LISTA, si accettano proposte ...

    GRAZIE A TUTTI

    CIAO

  6. #6
    A questo p.to ti consiglierei di creare una lista, in cui carichi tutte le righe del file e aggiungi uno o più campi ad ogni singolo elemento per stabilire magari l'ordine di stampa.
    La luce è più veloce del suono,ecco xchè alcune persone sembrano brillanti fino a quando non parlano


  7. #7
    Mi sa che faccio bene a fare come dici tu ...


    GRAZIE CIAO

    Alla PROSSIMA

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