Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. 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

PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 449
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?

PM Quote
Avatar
AldoBaldo (Member)
Guru


Messaggi: 699
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.


ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
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

PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 449
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