[c++] StreamWriter.Write(int)
lastikovdb
-
lastikovdb -
lastikovdb -
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 :
Rien de bien compliqué en somme mais le problème est que voici ce que j'obtiens en sortie :
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...
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 = ʩ ) 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...
A voir également:
- [c++] StreamWriter.Write(int)
- Int converter - Télécharger - Bureautique
- Convertir char en int c ✓ - Forum C
- Can't multiply sequence by non-int of type 'float' - Forum Python
- [C]- convertir char en int ✓ - Forum C
- Gigaset int 1 - Forum telephonie fixe