Lire un fichier uniquement si le fichier est prédéterminé
Bonjour.
Je veux écrire un programme de cryptage (modification de fichier ASCII, caractère ASCII par caractère ASCII, en C++).
Je bloque sur la lecture de caractère :
En mettant le nom du fichier dans le code, cela fonctionne, mais pas avec un nom de fichier sous la forme d'une variable (chaine).
Merci de m'indiquer comment faire, svp.
PS : Code:Blocks 13.12,GNU GCC Compiler 5.2.1-22ubuntu2, C++, Lubuntu 15.10.
Exemple, plagié d'un site de tutoriels :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
string Lieu = "test.txt";
/*
cout << "De quel fichier ASCII voulez-vous le premier octet ?" << endl;
cin >> Lieu;
*/
ifstream fichier("test.txt", ios::in); // on ouvre "test.txt". OK !!
// ifstream fichier(Lieu, ios::in); // on ouvre "test.txt". ERREUR !
if(fichier)
{
char caractere; // notre variable où sera stocké le caractère
fichier.get(caractere); // on lit un caractère et on le stocke dans caractere
cout << caractere; // on l'affiche
fichier.close();
}
else
cerr << "Impossible d'ouvrir le fichier !" << endl;
return 0;
} |