Maison >développement back-end >C++ >Écriture de fichiers binaires ou texte dans MS Visual C : quelles sont les principales différences ?

Écriture de fichiers binaires ou texte dans MS Visual C : quelles sont les principales différences ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-26 00:23:131004parcourir

Binary vs. Text File Writing in MS Visual C  : What are the Key Differences?

Écriture de fichiers en mode binaire ou texte dans MS Visual C

Lors de l'écriture de données dans un fichier, le mode d'écriture du fichier détermine la manière dont les données sont interprété et stocké. En mode texte, certaines traductions se produisent qui ne sont pas présentes en mode binaire.

Dans MS Visual C, les traductions qui se produisent en mode texte incluent :

  • Les sauts de ligne ('n' ) sont traduits en séquences « rn » en sortie.
  • Les séquences de retour chariot/saut de ligne sont traduites en sauts de ligne en entrée.
  • Si le fichier est ouvert en mode ajout, la fin du fichier peut être modifiée pour supprimer un caractère ctrl-z (caractère 26) et interpréter sa présence comme la fin du fichier.

Considérez ce qui suit exemple de code :

unsigned char buffer[256];
for (int i = 0; i < 256; i++) buffer[i] = i;
int size = 1;
int count = 256;

FILE *fp_binary = fopen(filename, "wb");
fwrite(buffer, size, count, fp_binary); // Binary mode

FILE *fp_text = fopen(filename, "wt");
fwrite(buffer, size, count, fp_text); // Text mode

En mode binaire, les données du tampon seront écrites directement dans le fichier sans aucune traduction. Cependant, en mode texte, les sauts de ligne seront traduits en séquences « rn », qui sont utilisées pour les sauts de ligne dans les systèmes d'exploitation Windows.

Comprendre la différence entre l'écriture de fichiers en mode binaire et texte est crucial pour garantir une écriture précise des fichiers. traitement des données et prévention des problèmes potentiels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn