Debutant C#... code c/c++ [Résolu]

Signaler
Messages postés
22
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
18 juillet 2006
-
Messages postés
22
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
18 juillet 2006
-
Salut a tous

je me suis mis il y a peu au c#, et je vais reutiliser certain code c/c++ en c#




char v1[4];

char v2[8];


unsigned long v3;



fscanf( infile, "%4c", v1);

fscanf( infile, "%8c", v2);

fscanf( infile, "%2c", &v3);



Je cherche a transformer ce code c/c++ en c#.

Pour ce faire voila ce que j'ai

using (StreamReader sr = new StreamReader(fileName))

{

while (sr.Peek() >= 0)

{

sr.Read(v1, 0, 4);

sr.Read(v3, 0, 4);

sr.Read(v2, 0, 8);

}

}





code qui ne marche absolument pas a cause du type de v3...

Bref je cherche a lire un certain nombre de caracteres dans un fichiers et les mettres dans une variable (int? char? string?)

merci

5 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
36
Salut, les méthodes de la classe BinaryReader sont peut être mieux adaptées.
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
le type long de C/C++ est maintenant un int (32bits)
donc unsigned long = uint


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
Messages postés
22
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
18 juillet 2006

en fait j avais deja fais cette conversion mais en utilisant ulong. j'utiliserai a present uint :) merci

mais ca ne resoud pas mon probleme...



Sread(char[],int,int)

je ne me donc pas mettre v3 en 1r paramettre de Sread etant donnee que c'est un uint....



autre petit probleme lors de l'affichage du resultat ca me renvoi

Console.WriteLine("v1:"+v1.ToString()); affiche v1: System.Char[]

donc pas du tout ma valeur :(



merci bcp
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
juste une question... dans ta méthode Sread(char[], int, int), char[] représente bien une chaine de caractères ?
si oui, utilise plutot string à la place.


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
Messages postés
22
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
18 juillet 2006

exactement grace a BinReader, que je ne connaissais pas du tout!!

merci a tous pour votre aide.