Oppure

Loading
09/03/16 19:11
pino.99
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
#include<iostream>
#include<fstream>
using namespace std;

int main(){
	string vett[50];
	int n=0;
	
	ifstream f(file.txt, ios::out); //apertura del file
	
	while(f.good()){//acquisizione contenuto del file
		getline(f,vett[n]);
		n++;
	}
	
	//stampa contenuto del vettore
	for(int i=0;i<n;i++)cout << vett[i] << endl;
	
	return 0;
}


Grazie in anticipo
aaa
09/03/16 19:54
lumo
>>>>>>>ifstream f(file.txt, ios::out); //apertura del file

apertura? Sai cosa vuol dire out in inglese? :lol:
Ultima modifica effettuata da lumo 09/03/16 19:54
aaa
09/03/16 20:21
pino.99
quindi per poter inserire le stringhe del file in vettore di string devo levare ios::out?
aaa
09/03/16 20:23
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.
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.
09/03/16 20:29
pino.99
sisi confermo funziona tutto grazie
aaa
09/03/16 20:31
lumo
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 &quot;file.txt&quot; 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
ifstream f("file.txt");
oppure
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.
aaa