Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    [c++] Trovare ed eliminare righe che iniziano con "presenze:0"

    Ho un corposo file txt pieno di righe del tipo

    presenze:1 - 1,2,3,4,5,6
    presenze:0 - 1,3,4,5,7,8
    presenze:0 - ecc...
    presenze:0 - ecc...
    presenze:2 - ecc...
    presenze:1 - ecc...
    ecc...

    Io vorrei poter eliminare con un apposito cod tutte le righe "presenze:0"

    E' possibile farlo rapidamente con c++?
    Se si come?

    GRAZIE


  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Leggi tutto il file, riga per riga, e scrivi un secondo file solo con le righe che ti interessano.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3

    Re: [c++] Trovare ed eliminare righe che iniziano con "presenze:0"

    vai di grep:
    codice:
    $ cat presenze_originale.txt | grep -v "presenze:0 - " > presenze_filtrato.txt
    ;-)

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Penso che, piuttosto che un problema contingente da risolvere, sia un semplice esercizio di programmazione da risolvere in C/C++ ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    Re: Re: [c++] Trovare ed eliminare righe che iniziano con "presenze:0"

    Originariamente inviato da MacApp
    vai di grep:
    codice:
    $ cat presenze_originale.txt | grep -v "presenze:0 - " > presenze_filtrato.txt
    ;-)
    Esattamente come e dove andrebbe posizionata questa potente riga?

    Io per adesso l'ho posizionata così... :

    codice:
    ifstream fin("PUNTI-0-TROVATIparte1.txt");
    if (fin) {
       string s;
       while(fin) // cattura tutti gli errori.
       {
          getline(fin,s); 
          
          cout << s;
          
          //prova scrematura...
          $ cat PUNTI-0-TROVATIparte1.txt | grep -v "presenze:0 - " > presenze_filtrato.txt
          //-------------------
          
          vec.push_back(s);
       }
    }
    
    
    
    cout << "\n\n\n"; 
    cout << "Press ENTER to continue...x CHIUDERE..." << endl;
    cout << "\n\n\n"; 
    cin.get();
    //return 0;
    
    
    }
    Ma non mi funzia...

    Grazie

    Un saluto a tutti/e

  6. #6

    Quello che ti è stata suggerito non è codice C++, è un comando da dare da console che funziona su sistemi Unix like (o sui sistemi Windows su cui è stato aggiunto grep).
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7

    Re: Re: Re: [c++] Trovare ed eliminare righe che iniziano con "presenze:0"

    Originariamente inviato da freetom

    Ma non mi funzia...
    Se devi risolvere una contingenza allora procurati un grep per il tuo sistema operativo (per i sistemi unix like, ad esempio: linux, mac e le varie BSD c'e' di default), studiati un po' i comandi di base da terminal, shell o console ed applica l'efficientissima soluzione che ti ho proposto, altrimenti se è un esercizio che devi svolgere in C++, ti consiglio di partire da un progetto meno impegnativo, ripartendo dalla prima pagina del libro che stai studiando.

    Se ti incurioscisce grep, considera anche sed e awk tenendo d'occhio l'espressioni regolari.
    ;-)

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: Re: Re: [c++] Trovare ed eliminare righe che iniziano con "presenze:0"

    Originariamente inviato da freetom
    Ma non mi funzia...
    Ecco fatta la frittata ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    si devo risolvere una contingenza...

    Originariamente inviato da MacApp
    Se devi risolvere una contingenza allora procurati un grep per il tuo sistema operativo (per i sistemi unix like, ad esempio: linux, mac e le varie BSD c'e' di default), studiati un po' i comandi di base da terminal, shell o console ed applica l'efficientissima soluzione che ti ho proposto, altrimenti se è un esercizio che devi svolgere in C++, ti consiglio di partire da un progetto meno impegnativo, ripartendo dalla prima pagina del libro che stai studiando.

    Se ti incurioscisce grep, considera anche sed e awk tenendo d'occhio l'espressioni regolari.
    ;-)
    Mi sapresti consigliare una distribuzione o pacchetto che possa far girare run time su un sistema xp se esiste?

    Senza dover installare un s.o su una macchina per intenderci...?

    GRAZIE infinite


  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: si devo risolvere una contingenza...

    Originariamente inviato da freetom
    Senza dover installare un s.o su una macchina per intenderci...?
    Temo di non capire la richiesta ... parliamo sempre di programmazione C++ ... ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.