[c++] StreamWriter.Write(int)

Fermé
lastikovdb - 28 juil. 2009 à 11:18
 lastikovdb - 30 juil. 2009 à 11:03
Bonjour,

voilà, je suis en train de faire un programme en C++ et je voudrais imprimer des résultats dans un fichier. J'utilise donc la classe StreamWriter et la méthode Write... Voilà mon code :

StreamWriter^ sw = File::CreateText( path );
	try {
        sw->Write( "PRINTING DATA : " );
        sw->Write( label );
        sw->Write( "(size = " );
        sw->Write( size );
        sw->WriteLine( " )" );
        sw->Write( "Date and Time : " );
        sw->WriteLine(DateTime::Now);
        sw->WriteLine( "---------------------" );

        for (int i=0; i<size; i++){
            sw->Write( "i=" );
            sw->Write( i ); // TODO
            sw->Write( " | value=");
            sw->WriteLine ( data[i] );
        }
        sw->WriteLine( "---------------------" );
    } finally {
         if ( sw ) delete (IDisposable^)sw;
    }
}


Rien de bien compliqué en somme mais le problème est que voici ce que j'obtiens en sortie :

PRINTING DATA : Left laser values(size = &#681; )
Date and Time : 7/28/2009 5:54:42 PM
---------------------
i=  | value=0
i= | value=0
i= | value=0
i= | value=0
i= | value=0
i= | value=0
i= | value=0
i= | value=0
i= | value=0
i=	 | value=0
i=
 | value=0
i= | value=0
i= | value=3503
i=
 | value=3484
i= | value=3481
i= | value=3476
i= | value=3463
i= | value=3449
i= | value=3439
[...]


Les petits carrés pas beau là ce sont des caractères spéciaux en lieu et place de mon int i tout bête. J'imagine qu'il interprète l'entier comme un code ASCII, mais pourquoi ? Selon la page officielle (https://docs.microsoft.com/fr-fr/dotnet/api/system.io.streamwriter.write?redirectedfrom=MSDN&view=netframework-4.8 la méthode est surchargée et devrait donc marcher avec des entiers. Le plus étonnant est d'ailleur qu'elle fonctionne bien avec les valeurs mais pas avec l'indice...

Bref si quelqu'un pouvait m'expliquer ce qui se passe et me donner une solution ou même une piste, il me serait d'un grand secours...

1 réponse

bonjour,

N'y aurait-il vraiment que moi qui aie ce problème ? Un petit coup de pouce svp... =)
0