morpheus83z
Messages postés59Date d'inscriptionmercredi 26 mai 2004StatutMembreDernière intervention19 août 2004
-
18 août 2004 à 11:22
fleurisette55
Messages postés2Date d'inscriptionmercredi 26 mars 2008StatutMembreDernière intervention26 mars 2008
-
26 mars 2008 à 12:54
Bonjour tout le monde !
Voilà, je ne comprends pas, j'ai un programme qui ne veut pas se compiler et je désespère vraiment ...
int main()
{
ifstream file("fichier.txt");
if( !file.is_open() )
{
std::cerr << "Erreur d'ouverture du fichier" << std::endl;
return EXIT_FAILURE;
}
std::string line;
std::vector<std::string> file_content;
while( std::getline( file, line ) )
{
file_content.push_back( line );
}
// désormais file_content[i] contient la i-ème ligne du fichier (attention c'est un tableau, ca commence à la ligne 0)
return EXIT_SUCCESS;
}
Y'a t-il un oubli, quelquechose ?
Sinon, connaissez-vous un bout de code qui me permettrait d'ouvrir un fichier et de l'implémanter dans une variable tableau (pour exploitation de cette variable ensuite) ?
essirc
Messages postés48Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention26 juillet 20053 18 août 2004 à 11:58
Hello,
Voici une version de ton code modifiée pour comiler sous VC++ 6 :
#include // iostream.h est déprécié
#include <string>
#include <fstream>
#include <cstdlib>
#include <vector> // Pour pouvoir utiliser les vectors
using namespace std; // Pour ne pas avoir a préciser std:: toutes les 5 minutes
int main()
{
ifstream file("fichier.txt"); // Manquait un std::
if( !file.is_open() )
{
cerr << "Erreur d'ouverture du fichier" << std::endl;
return EXIT_FAILURE;
}
string line;
vector<string> file_content;
while(getline( file, line ) )
{
file_content.push_back( line );
}
// désormais file_content[i] contient la i-ème ligne du fichier (attention c'est un tableau, ca commence à la ligne 0)
return EXIT_SUCCESS;
}
T'inquiètes pas pour les warnings, c'est normal :)
morpheus83z
Messages postés59Date d'inscriptionmercredi 26 mai 2004StatutMembreDernière intervention19 août 2004 18 août 2004 à 14:17
Merci à tous, j'ai adopter la solution avec les warnings :) !
Juste un autre petit truc .. Moi le C++ je débarque un peu (même si j'en ai fait) et un truc bête que je voudrais savoir, c'est comment concaténer toutes les valeurs que je vais récupérer dans mon file_content[i] dans une variable unique ?! Je sais qu'on peut utiliser += ou append et avec la fonction size on renvoie le nombre de caractères contenus dans la string mais je n'ai pas tout capter .. Vous n'avez pas un exemple ?
morpheus83z
Messages postés59Date d'inscriptionmercredi 26 mai 2004StatutMembreDernière intervention19 août 2004 18 août 2004 à 15:09
lol .. le C .. :)
Hum sinon un truc que j'ai pas capté, tu déclares pas le i pour la boucle for ?! Paske moi quand je veux le déclaré il me dit de regarder sa déclaration :p ...
Le soucis c'est que le i vaut quelques milliards donc il ne passe pas par la boucle .. bêtement j'ai fait avec a et même problème ..
2 Fonctions sont présente : Asc pour convertir un caractère par sa valeur Ascii. Mid pour sélectionner un seul caractère de la chaine de caractère .. Cette ligne de code est dans une boucle donc je passe tout les caractères en revu, un par un ..
Ce que je cherche c'est donc un moyen en C++ de sélectionner un seul caractère dans une chaine de caractère. Un ptit peu plus clair jpense ;)