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

    [c++] ripulire righe risultanti da "quadratino" finale...

    Cerco di spiegarmi meglio...

    Ho due file A.txt e B.txt contenti ciascuno solo una colonna di numeri

    es...

    A.txt contiene

    1
    10
    8
    4

    B.txt contiene

    2
    11
    9
    5

    io devo semplicemente unire i due contenuti per formare un file C.txt contenente sempre secondo l'esempio:

    1,2
    10,11
    8,9
    4,5

    Io ci sono riuscito solo che in quello costituito da me c'è presente un carattere "nascosto" che rivisualizzato in un altro txt appare come un quadratino... che ho cercato di raffigurare qui sotto in grassetto...

    presenze:0°***combinazione:83,15[]***rs: 510ra: 510colpirimanenti: 0


    Dovrei rimuoverlo in quanto altrimenti il successivo confronto non avviene in modo corretto

    Qualche idea?

    Grazie a tutti/e



    Per aiutarvi nell'aiutarmi... il codice per generare il mio C.txt è il seguente:

    codice:
    #include <iostream>
    #include <fstream>
    #include <string>
    #include <vector>
    #include <sstream>
    
    using namespace std;
    
    
    string intToString(int value) {
        stringstream ss;
        ss << value;
        return ss.str();
    }
    
    int main (int argc, char *argv[]) {
    
    vector<string> vec;
    
    vector<string> scelti;
    
    int contatore=0;
    
    ifstream fin("A.txt");
    ifstream fin2("B.txt");
    
    cout << "\n\n\n";
    cout << "Press ENTER to continue..." << endl;
    cout << "\n\n\n";
    cin.get();
    
    
    if (fin,fin2) {
    
    string s;
    string s2;
    
    while(fin,fin2) // cattura tutti gli errori.
    {
    getline(fin,s);
    getline(fin2,s2);
    
    
    cout << "PRIMO ELEMENTO: ";
    cout << s;
    
    
    cout << "\n";
    
    cout << "SECONDO ELEMENTO: ";
    cout << s2;
    
    cout << "\n";
    
    cout << "salvataggio del 1° e 2° elemento di ciascun ambo elastico...";
        //cin.get();
    
        ofstream fout;
    	
    	fout.open("C.txt", ios::app);
    
    	
    	//creazione del file...
    	string datoultimoterzina= s;
    	string datoultimoterzina2= s2;
    	fout << datoultimoterzina;
    	fout << ",";
    	fout << datoultimoterzina2;
    	fout << "\n";
    
    
    
    
    }
    }
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Probabilmente è il carattere di "ritorno a capo" che leggi e visualizzi (non so come) nel txt (quale txt?) ...

    Quindi, è possibile che sia sbagliata la "lettura", non la scrittura.

    P.S.

    1) Perchè usi due variabili string diverse (datoultimoterzina,datoultimoterzina2) invece di usare già quelle che hai (s,s2) ?

    2) Perchè apri sempre il file di out all'interno del ciclo, invece di farlo una sola volta al suo esterno ?

    3) Perchè non chiudi i file una volta terminato il programma?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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

    risolto anche questo

    Ho riprovato e riprovato e alla fine mi sono accorto che l'errore.. risiedeva nel cod che estrapolava le ultime 500 righe.. ovvero in questi vi era un'aggiunta di troppo per quanto riguardava il ritorno a capo appunto.

    tolto con questo:

    codice:
    //PULISCO OGNI LINEA DELL'ULTIMO CARATTERE DI RITORNO A CAPO...
                        
    line = line.substr(0, line.length()-1);
                        
    //-------------------------------------------------------------
    sparito il fastidio...



  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Come ti avevo detto ... il problema era nella lettura ...
    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 © 2024 vBulletin Solutions, Inc. All rights reserved.