Bonjour,
Je lit un fichier binaire dont j'extrais certaines infos que j'écris dans un fichier texte. Mais comme il y a une boucle dedans pour cette opération je comtais la mettre dans une sous-fonction.
Je n'ai pas d'erreur lorsque je lance le debug mais j'ai l'impression que le programme ne sait plus où était la lecture du fichier. J'ai aussi testé en définissant les 2 fichiers en "private static" en dehors du main, sans plus de résultat.
Avez-vous une idée pour résoudre ce problème? A la limite si je pouvais récupérer la position actuelle de la lecture du fichier dans un long cela pourrait me suffire pour m'en sortir (ce que je ne sais pas comment récupérer).
Fonction Main :
Sous-fonction que je comptais faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ... string fichier_en_sortie_item; StreamWriter fichier_sortie_item = null; string fichier_data = @"D:\fichier.data"; BinaryReader fichier_entree_binaire = null; ... //dans une boucle fichier_sortie_item.Write("{0}{1} = \"", debut, fichier_entree_binaire.ReadInt32()); fichier_entree_binaire.ReadBytes(taille); fichier_sortie_item.WriteLine("{0}\";", UnicodeEncoding.Unicode.GetString(fichier_entree_binaire.ReadBytes(64))); fichier_entree_binaire.ReadBytes(decalage); //fin de la boucle ...
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 private static void sous_fonction(BinaryReader fichier_entree_binaire, StreamWriter fichier_sortie_item, string debut, int taille, int decalage) { fichier_sortie_item.Write("{0}{1} = \"", debut, fichier_entree_binaire.ReadInt32()); fichier_entree_binaire.ReadBytes(taille); fichier_sortie_item.WriteLine("{0}\";", UnicodeEncoding.Unicode.GetString(fichier_entree_binaire.ReadBytes(64))); fichier_entree_binaire.ReadBytes(decalage); return; }
Partager