Bonjour,

J'ai un problème assez incroyable.

J'ai deux fonctions, 1 qui fait des opérations sur des strings, et une autre totalement indépendante qui affiche le temps grâce à localtime de <ctime>.

Et bien figurez-vous que lorsque j'affiche l'heure AVANT de faire des opérations sur une string, j'ai un throw sur une fonction substr() qui plante !

Et dès que je passe l'affichage de l'heure APRÈS l'autre fonction, plus de problème ...

Comment une telle chose est-elle possible ?

Je répète que ces deux fonctions sont totalement indépendantes, je les exécute l'une après l'autre dans ma fonction main().

EDIT : D'après un autre test, le programme ne plante pas si je construis l'objet qui manipule les string AVANT l'affichage de 'heure.

Voici le constructeur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
X::X (const std::string & file)
{
	std::ifstream file (dictionary_file);
	// ...
 
	std::string line, unit_line;
	while (std::getline (file, line))
		this->messages.emplace_back (line.substr (line.find ('\t') + 1));
}
EDIT 2 : Problème résolu :

Il s'agit d'un échec d'un test de logique avec un unsigned qui passait en dessous de zéro (et donc devenait très grand).