Articles of iostream

Leggere e scrivere un file std :: vector in un file correttamente

Questo è il punto. Come scrivere e leggere file binari con std :: vector al loro interno? Stavo pensando qualcosa come: //============ WRITING A VECTOR INTO A FILE ================ const int DIM = 6; int array[DIM] = {1,2,3,4,5,6}; std::vector myVector(array, array + DIM); ofstream FILE(Path, ios::out | ofstream::binary); FILE.write(reinterpret_cast(&myVector), sizeof(vector) * 6); //=========================================================== Ma non […]

Qual è l’intestazione ?

Qual è l’intestazione usata (menzionata in questo file )? Perché è necessario? Qualche esempio?

Ci sono flussi di memoria binari in C ++

Di solito uso lo stringstream per scrivere nella stringa in memoria. C’è un modo per scrivere su un buffer di char in modalità binaria? Considera il seguente codice: stringstream s; s << 1 << 2 << 3; const char* ch = s.str().c_str(); La memoria in ch sarà simile a questa: 0x313233 – i codici ASCII […]

verificare la disponibilità dei dati prima di chiamare std :: getline

Vorrei leggere alcuni dati da un stream che ho usato std::getline . Sotto un campione usando lo std::cin . std::string line; std::getline( std::cin, line ); Questa è una funzione di blocco, ovvero se non ci sono dati o la riga da leggere blocca l’esecuzione. Sai se esiste una funzione per verificare la disponibilità dei dati […]

Qual è la vera ragione per non utilizzare il bit EOF come condizione di estrazione del stream?

Ispirato dalla mia precedente domanda Un errore comune per i nuovi programmatori C ++ è quello di leggere da un file con qualcosa sulla falsariga di: std::ifstream file(“foo.txt”); std::string line; while (!file.eof()) { file >> line; // Do something with line } Riferiranno spesso che l’ultima riga del file è stata letta due volte. La […]

Trova tutte le occorrenze e le posizioni di una sottostringa

Sto scrivendo un programma per analizzare alcuni dati salvati come file di testo. Quello che sto cercando di fare è trovare la posizione di ogni ago in un pagliaio. Posso già leggere il file e determinare il numero di occorrenze, ma sto cercando anche di trovare l’indice.

Devo usare #include accanto a ?

Ho iniziato ad imparare C ++ e ho letto un libro che scrive che devo usare il file di intestazione perché il tipo di stringa non è compilato direttamente nel compilatore. Se uso posso usare il tipo di stringa. Devo includere l’intestazione quando voglio usare il tipo di stringa se ho incluso l’intestazione ? Perché? […]

Perché gli iostreams di C ++ STL non sono “eccezionalmente amichevoli”?

Sono abituato al Delphi VCL Framework, dove TStreams lancia eccezioni sugli errori (ad esempio file non trovato, disco pieno). Sto eseguendo il porting di un codice per utilizzare C ++ STL e sono stato catturato dagli iostream NON distribuendo eccezioni per impostazione predefinita, ma impostando invece i flag badbit / failbit . Due domande … […]

Ci sono trucchi per usare std :: cin per inizializzare una variabile const?

Uso comune di std :: cin int X; cin >> X; Lo svantaggio principale di questo è che X non può essere const . Può facilmente introdurre bug; e sto cercando qualche trucco per essere in grado di creare un valore const e scriverlo solo una volta. La soluzione ingenua // Naive int X_temp; cin […]

Puoi spiegare il concetto di flussi?

Capisco che uno stream è una rappresentazione di una sequenza di byte. Ogni stream fornisce i mezzi per leggere e scrivere byte nel proprio backing store. Ma qual è il punto del stream? Perché il backing store non è ciò con cui interagiamo? Per qualche ragione questo concetto non mi sta facendo clic. Ho letto […]