View Full Version : [c++]parametrizzare un file di testo
zetaenzo
10-06-2006, 17:24
ciao a tutti,
sapreste dirmi come si fa a passare un file di testo il cui nome è preso in input? :confused:
Mi spiego meglio: dovrei utilizzare ifstream per la lettura da un file,e per aprirlo dovrei scrivere ifstream.open("nomeFile.txt"); . Il nome del file si può passare come parametro?
Aiutatemi per piacere :help:
ciao a tutti,
sapreste dirmi come si fa a passare un file di testo il cui nome è preso in input? :confused:
Mi spiego meglio: dovrei utilizzare ifstream per la lettura da un file,e per aprirlo dovrei scrivere ifstream.open("nomeFile.txt"); . Il nome del file si può passare come parametro?Beh, sì. Puoi usare gli argomenti passati sulla linea di comando usando i parametri argc/argv del main() oppure chiedere in input in modo "interattivo", durante l'esecuzione, il nome del file.
zetaenzo
11-06-2006, 10:51
Ed è quello che vorrei fare: chiedere in input il nome del file. Però quando lo memorizzo in una variabile, come faccio ad aprirlo?
Se ci metto le virgolette non funziona, e neanche se non le metto... :muro:
#include <iostream>
#include <fstream>
using namespace std;
int main (int argc, char *argv[])
{
char filename[100];
cout << "Inserisci il nome del file: ";
cin >> filename;
ifstream inf;
inf.open (filename);
/* .... */
inf.close();
return 0;
}
occhio al buffer overflow però eh! :D
quello di andbin era solo un esempio ;)
Per evitare i buffer overflow (e fare contento 71104 ;) ) si può fare:
...
char filename[100];
cout << "Inserisci il nome del file: ";
cin.width (sizeof (filename));
cin >> filename;
...oppure:
...
string filename;
cout << "Inserisci il nome del file: ";
cin >> filename;
ifstream inf;
inf.open (filename.c_str());
...
zetaenzo
11-06-2006, 14:46
ok grazie mille, mi siete stati molto d'aiuto!!
Ciao e grazie ancora! ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.