Bonjour, j'utilise dev-c++ et je travaille sur un programme. Ce programme fonctionne correctement, hors je l'ai fait testé sous linux et là par contre il buggue à un certain niveau du programme.

Après moultes tests, il s'est avéré que le programme a du mal avec les chaînes de caractères sous linux. Voici le bout de code qui foire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
bool WP_ModelObj::validateFile(const string line)
{
   fstream fichierDebug;
   fichierDebug.open ("debug.txt",ios::out|ios::app); 
   fichierDebug << "3DG1 == " << line << " : " << (line == "3DG1") << endl;
   fichierDebug.close();
   if (line == "3DG1")
   {
      return true;
   }
 
   return false;
}
L'écriture dans le fichier sous windows renvoit :

3DG1 == 3DG1 : 1
C'est évidement ce qui est attendu. Sous linux voici ce qui s'affiche :

: 0 == 3DG1
La variable line à pour valeur "3DG1" avant l'appel de fonction quelquesoit l'OS. Je me demande donc si le problème ne vient pas du type du paramètre en entrée.

Je vous remercie pour l'aide que vous m'apporterais.