Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Inserire stringhe di un file .txt in un array di string, C++
Forum - C/C++ - Inserire stringhe di un file .txt in un array di string, C++

Avatar
pino.99 (Normal User)
Newbie


Messaggi: 8
Iscritto: 09/03/2016

Segnala al moderatore
Postato alle 20:11
Mercoledì, 09/03/2016
Salve ragazzi, ho provato a inserire il contenuto di un file all'interno di un array di string ma non inseriwsce niente questo è il codice che ho scirtto io
Codice sorgente - presumibilmente C#

  1. #include<iostream>
  2. #include<fstream>
  3. using namespace std;
  4.  
  5. int main(){
  6.         string vett[50];
  7.         int n=0;
  8.        
  9.         ifstream f(file.txt, ios::out); //apertura del file
  10.        
  11.         while(f.good()){//acquisizione contenuto del file
  12.                 getline(f,vett[n]);
  13.                 n++;
  14.         }
  15.        
  16.         //stampa contenuto del vettore
  17.         for(int i=0;i<n;i++)cout << vett[i] << endl;
  18.        
  19.         return 0;
  20. }



Grazie in anticipo


pino99
PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 413
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 20:54
Mercoledì, 09/03/2016
>>>>>>>ifstream f(file.txt, ios::out); //apertura del file

apertura? Sai cosa vuol dire out in inglese? :lol:

Ultima modifica effettuata da lumo il 09/03/2016 alle 20:54
PM Quote
Avatar
pino.99 (Normal User)
Newbie


Messaggi: 8
Iscritto: 09/03/2016

Segnala al moderatore
Postato alle 21:21
Mercoledì, 09/03/2016
quindi per poter inserire le stringhe del file in vettore di string devo levare ios::out?


pino99
PM Quote
Avatar
AldoBaldo (Member)
Expert


Messaggi: 345
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 21:23
Mercoledì, 09/03/2016
Boh? Anch'io ho pensato la stessa cosa, poi ho provato il codice e funziona tanto con ios::in quanto con ios::out...

Piuttosto, nell'indicazione del nome del file mancano le virgolette. File.txt senza virgolette indica la proprietà di un oggetto (di classe sconosciuta), non una stringa. Sostituendo file.txt con "file.txt" funziona.


Ma cosa vuoi che ne sappia? Io ci gioco, col codice, mica ci lavoro!
PM Quote
Avatar
pino.99 (Normal User)
Newbie


Messaggi: 8
Iscritto: 09/03/2016

Segnala al moderatore
Postato alle 21:29
Mercoledì, 09/03/2016
sisi confermo funziona tutto grazie


pino99
PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 413
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 21:31
Mercoledì, 09/03/2016
Testo quotato

Postato originariamente da AldoBaldo:
Boh? Anch'io ho pensato la stessa cosa, poi ho provato il codice e funziona tanto con ios::in quanto con ios::out...

Piuttosto, nell'indicazione del nome del file mancano le virgolette. File.txt senza virgolette indica la proprietà di un oggetto (di classe sconosciuta), non una stringa. Sostituendo file.txt con "file.txt" funziona.


Ah beh, ho visto la pagliuzza nell'occhio e non mi sono accorto della trave..
In effetti lì funzione lo stesso perché è un istream, dove "i" ovviamente è input.
Fosse stato un semplice fstream, non sarebbe andato.

pino.99: In ogni caso ios::out non ha senso in questo caso, puoi scrivere
Codice sorgente - presumibilmente Plain Text

  1. ifstream f("file.txt");


oppure
Codice sorgente - presumibilmente Plain Text

  1. fstream f("file.txt", ios::in);



ios::out significherebbe che i dati vanno dal programma verso il file (ossia fuori dal programma, out appunto). Tu invece vuoi leggere.

PM Quote