Problème STL lecture fichier texte
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:
Code:
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; |
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.
Comment dois-je procéder? Les lignes sont-elles réellement des std::string ?
Je vous remercie par avance.
bou
j'ai une partie de la réponse
Je viens de constater que certaines dll que j'utilisais causaient se problème. C'est à dire qu'en les retirant de la rubrique propriétés du projet, Linker->Input->Additionnal Dependencies, le problème n'apparaissait plus. Comment est-ce possible?