J'ai un fichier binaire. Il se compose de 4 messages, chacun d'une taille de 100 octets. Je veux lire ces 2 derniers messages à nouveau. J'utilise l'objet BinaryReader. Je cherche à psosition 200 et puis je lis: BinaryReaderObject.read (charBuffer, 0, 10000), où charBuffer est grand enougth. Je reçois tout le temps le nombre de lectures est toujours manquant 1. Au lieu d'obtenir 200 je reçois 199. Au lieu d'obtenir 400, je reçois 399. J'ai vérifié et j'ai vu que la taille du fichier est correcte et les données que je reçois commence au bon endroit.lecture de fichier C# .NET
Thnaks,
Droite. Je pensais la même chose, mais je pense que les chiffres sont corrects (c'est-à-dire que le premier enregistrement commence à 0 et passe à 99, le deuxième enregistrement commence à 100, passe à 199, etc ...). Chercher à la position 200 semble être le bon endroit pour le début du 3ème album. –
Où voulez-vous dire zéro basé, dans le fichier dans ce que je lis? Comme je l'ai dit je reçois des données démarrant correctement, et la quantité de données que je récupère est manquante 0r –
Les ordinateurs comptent à partir de zéro. Le premier élément d'un tableau est 0, le second est 1, etc. Ceci est appelé un tableau basé sur zéro; parce que ça commence à zéro. Les fichiers sont traités comme des tableaux d'octets basés sur zéro, donc la position 200 est le 201e octet par un comptage «normal», expliquant l'erreur «un par un» que vous rencontrez. –