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

    [C++] salvare riga di numeri da file txt

    Salve a tutti, questo è il mio primo post, piacere di conoscervi!

    il mio problema è il seguente, io ho un file di testo di 217 righe due delle quali:

    riga46:
    46 1 10 0 13 4 10 4 14 4 0 4 0 0 0 0 0 0 0 11 3 0 0 0 1 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 9 0 1 1 18 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 1 1 1 0 0 5 0 0 2 0 0 0 0 0 0 0 0 0 6 48 8 19 20 11 0 5 0 8 3 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 2 1 0 8 8 0 2 1 1 15 1 0 1 0 0 3 14 0 1 2 0 0 1 0 0 0 2 2 0 0 0 0 0 2 0 2 14 0 0 2 16 2 0 0 0 0 0 0 0 0 0 124 10 160 0 2 1 4 0 1 9 1 0 0 0 0 0 0 0 1 47 0 19 0 5 0 3 1 2 1 2 0 17 42 1 2 3 12 49 0 0 0 1 0 2 10 15 116 9 34 34 37 64 12 4 11 33 22 0 1 1 0 42 0 1 0 0 0 0 0 0 0 0 0 0 10 0 0 7 10 2 7 0 1 0 0 0 4 2 0 6 0 0 7 0 0 0 0 0 2 3 3 1 0 2 1 2 1 1 4127 8 32 25 54 34 5 6 54 54 27 208 181 1 0 0 7 17 9 0 0 0 0 0 54 3 0 0 0 0 0 0 0 6 0 0 0 0 0 4 0 1 5 0 0 0 18 84 81 153 1305 304 327 93 554 118 31 96 176 57 23

    riga47:
    47 4 15 0 13 7 12 10 17 1 2 2 0 0 0 0 0 0 0 7 4 0 0 0 1 0 2 0 0 0 0 0 2 4 0 0 0 0 0 0 1 0 8 0 0 6 15 0 0 0 0 0 0 0 0 0 1 0 0 6 0 1 0 0 0 0 1 0 3 1 0 6 0 0 3 0 0 0 0 0 0 0 0 0 12 69 23 31 29 11 0 8 0 6 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 4 1 0 7 18 0 0 0 1 21 1 0 3 0 0 7 16 0 2 3 0 0 0 0 0 0 7 2 0 0 0 3 0 1 0 0 21 0 0 7 20 9 0 0 0 0 0 0 0 0 0 138 9 202 1 3 6 1 0 0 7 5 5 0 0 0 0 0 2 1 45 2 16 0 1 1 3 5 4 1 4 0 17 44 0 5 6 7 55 0 0 1 3 1 4 15 21 129 14 45 35 61 77 7 2 14 26 32 0 3 4 1 57 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 13 14 2 3 0 2 0 1 0 6 5 0 5 1 0 13 0 0 0 0 0 3 3 4 0 0 2 7 0 1 1 4713 6 43 43 50 42 3 4 71 54 33 242 176 0 1 0 7 21 5 0 0 1 0 0 59 3 1 0 0 0 0 0 0 5 0 1 0 0 0 2 0 3 6 0 0 0 24 87 107 185 1483 365 354 142 636 155 44 133 211 70 37

    quello che devo fare io è leggere il file di testo e memorizzare in vector di double il 268 elemento


    il punto è che ho provato con:
    codice:
    if (fileOUTPUT.is_open()){
    
    			while (fileOUTPUT.good()){
    
    				getline(fileOUTPUT, line);
    				cout << line[268]<<endl;
                                    v.push_back(line[268]);
    				
    								
    			}
    
    			fileOUTPUT.close();
    				
    }else cout << "\nUnable to open file" << endl;
    ma ovviamente mi prende anche gli spazi come "caratteri" e non va bene.. ho cercato altre cose online ma non ho trovato niente..


    qualcuno può aiutarmi?

  2. #2
    Leggi tutti gli interi in una variabile temporanea fino a che non arrivi al 268 della riga; questo lo memorizzi, ed ignori il resto della riga con fileOUTPUT.ignore(). Ripeti per ogni riga.
    In alternativa: leggi tutta la riga in una stringa con getline; quindi usa un istringstream per leggere (e scartare) i primi 267 elementi e memorizzare solo il 268°.

    P.S.: il codice va specificato tra tag [CODE] ... [/CODE], altrimenti perde l'indentazione; ora correggo io, in futuro ricordatene.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    grazie mille ho provato e va!

    a presto!

  4. #4
    Amaro C++, il gusto pieno dell'undefined behavior.

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.