Bonjour,
J'ai toujours développé sur linux pour l'instant et je dois effectuer un "portage" de mon code sur windows. J'utilise donc Visual C++ 2005 Express. Je tiens à préciser que mon code compile et fonctionne parfaitement sous linux (gcc 3.4.4).
Mon problème est le suivant: j'essaye de lire un fichier texte ligne à ligne et je souhaite m'arrêter lorsque le mot "Density" est présent dans la ligne. Le code que j'utilisais alors, était:
Ce code ne fonctionne pas sous Visual C++ 2005 Express. Les lignes sont lues (un cout renvoie le bon résultat) mais dès que j'essaye de manipuler la chaîne de caractères représentée par la ligne en essayant par exemple la méthode find() rien ne fonctionne. Le plus étrange c'est que la commande find fonctionne parfaitement sur une chaine de caractère créée manuellement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 std::ifstream file("fichier.srim"); std::string line; while( std::getline(file, line) && ( string::npos == line.find("Density") ) ){} cout << "line " << line << endl;
Comment dois-je procéder? Les lignes sont-elles réellement des std::string ?
Je vous remercie par avance.
bou
Partager