Bonjour a tous,
j'ai fais un programme pour lire des entiers dans un programme le problème c'est que je n'arrive pas a l'adapter pour lire des chaines de caractère ou des string a la limite (ca serait meme mieux)
Voici le prog d'origine pour les entiers :
Je pensais qu'il suffisait de changer le type du tableau :tablo
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 // StreamInput - exemple simple de lecture à partir // d'un fichier en utilisant fstream #include <cstdio> #include <cstdlib> #include <iostream> #include <string.h> #include <fstream.h> using namespace std; ifstream* openFile() { ifstream* pFileStream = 0; for(;;) { // ouvre le fichier spécifié par l'utilisateur char fileName[80]; cout << "Entrez le nom d'un fichier contenant les chaînes" << endl; cin >> fileName; // ouvre le fichier en lecture ; ne le crée pas // s'il n'existe pas encore pFileStream = new ifstream(fileName); if (pFileStream->good()) { break; } cerr << "Impossible d'ouvrir " << fileName << endl; delete pFileStream; } return pFileStream; } int main(int nNumberofArgs, char* pszArgs[]) { long tablo[500]; long cpt=0; // demande un canal pour l'accès aux fichier ifstream* pFileStream = openFile(); ofstream my("boby.txt",ios::app); // arrête s'il n'y a plus de données dans le fichier while (!pFileStream->eof()) { // lit une valeur int nValue = 0; (*pFileStream) >> nValue; // stoppe si la lecture échoue (probablement parce que // l'entrée suivant n'est pas un entier, ou parce que // nous avons trouvé une nouvelle ligne sans rien après if (pFileStream->fail()) { break; } // sort la valeur qui vient d'être lue cout << nValue << endl; my <<nValue<<" "; tablo[cpt]=nValue; cpt++; } for(long i=0;i<9;i++){ cout <<tablo[i]<<endl; } system("pause"); return 0; }
mais ca ne marche pas puisque si il trouve le chiffre 1 par exemple, et bien il affichera le caractère de valeur (ascii), de plus je crois que ce programme ne lis que le premier char de chaque ligne... ce qui pose problème.
Merci
Ben
Partager