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 : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Partager