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

    [c++] lettura di alcune righe di un file da ricopiare in un altro file

    ciao a tutti....allora io devo creare due file di testo.....dal primo file(dove introduco delle righe a caso) devo prendere le righe che cominciano con l'asterisco e ricopiare le righe nel secondo file......come posso fare? io ho già scritto questo:
    codice:
    #include <iostream> 
    #include <cstdlib> 
    #include <string> 
    #include <fstream> 
    using namespace std; 
    int main(int argc, char *argv[]) { 
    string s,a; 
    cout<<"leggere delle righe da ricopiare in un altro file "<<endl; 
    fstream file1,file2; 
    file1.open("file1.txt",fstream::in); 
    while(file1.good()){
     getline (file1,s); 
    cout<<s<<endl;
    }
     system("PAUSE");
            return 0;
    
    
    
    
    }

  2. #2
    ah dimenticavo....nel primo file ho inserito le righe dal blocco note......

  3. #3
    ho scritto questo fino a ad adesso ma non so come fare per copiare solo le righe che iniziano per asterisco
    codice:
    #include <iostream>
    #include <cstdlib>
    #include <string>
    #include <fstream>
    #include <iomanip>
    using namespace std;
    
    int main()
    {
        string s,a;
        cout<<"leggere delle righe da ricopiare in un altro file "<<endl;
        fstream file1,file2;
        file1.open("file1.txt",fstream::in);
        file2.open("file2.txt",fstream::out);
        while(file1.good()){
            getline (file1,s);
            cout<<s<<endl;
    
    
            file2<<s<<endl;}
        cout<<"adesso copio le righe sul file2 "<<endl;
    
            file2.close();
            file2.open("file2.txt",fstream::in);
            while(file2.good()){
                getline (file2,a);
                cout<<a<<endl;
            }
    
    
    
    
    
    
    
            system("PAUSE");
            return 0;
    
    
    
    
    }

  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Sai come prelevare un singolo carattere da una std::string?
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  5. #5
    uhm...credo di no....potresti farmi un esempio?

  6. #6
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Basta usare [] (come per i normali array C).
    L'importante è che l'indice sia nell'intervallo: 0 <= Index < string::size().
    Nel tuo caso specifico: 0 <= Index < s.size()
    Detto questo per sapere se s inizia con un stringa basta un semplice: s[0] e per copiare le rghe con asterisco un semplice if.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  7. #7
    quindi....vediamo se ho capito.....inserisco un while(0<=Index && Index<s.size)
    prima di copiare la stringa s nel file2 e all'interno del while inserisco una if(s[0]=='*')?.....scusa ma sono alle prime armi....

  8. #8
    credo di aver risolto......
    codice:
    #include <iostream>
    #include <cstdlib>
    #include <string>
    #include <fstream>
    #include <sstream>
    
    using namespace std;
    
    int main()
    {
        int i;
        string s,a;
        cout<<"leggere delle righe da ricopiare in un altro file "<<endl;
        fstream file1,file2;
        file1.open("file1.txt",fstream::in);
        file2.open("file2.txt",fstream::out);
        while(file1.good()){
            getline (file1,s);
            cout<<s<<endl;
                if(s[0]=='*'){
                  file2<<s<<endl;
                }
    
    
    
            }
        cout<<"adesso copio le righe sul file2 "<<endl;
    
            file2.close();
            file2.open("file2.txt",fstream::in);
            while(file2.good()){
                getline (file2,a);
                cout<<a<<endl;
            }
    
    
    
    
    
    
    
            system("PAUSE");
            return 0;
    
    
    
    
    }

  9. #9
    grazie per l'aiuto....

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.