Bonjour,adapter un casting ancienne d'un std :: streampos être g ++ 4.4 compatible
Je tente d'obtenir un code à l'ancienne pour fonctionner en g ++ 4.4. Ma compréhension est le code compilé très bien en g ++ 4.0, mais g ++ est devenu plus strict entre 4.0 et 4.4. Ce code provoque notamment le compilateur d'arrêter et de se plaindre:
sprintf(s,"%.7d",(long)tellp());
tellp() est un objet std :: streampos. L'appel ci-dessus à sprintf se produit dans une classe dérivée d'une classe std :: fstream. Le code permet à de convertir des données indiquant la position d'un objet fstream en un type numérique, de sorte qu'il puisse être transmis à un deuxième programme en cours (via un fichier) afin que le 2ème programme puisse rapidement certaines données dans un fichier.
Existe-t-il un moyen simple de sauver cela, avec une distribution g ++ serait heureux avec?
Le message d'erreur:
error: format ‘%.7d’ expects type ‘int’, but argument 3 has type ‘std::streamoff’