Bonjour,
en lisant la référence pour la fonction fopen, je vois qu'il est
possible d'ouvrir un fichier en "mode binaire". Qu'est-ce que cela
signifie ? À l'usage je n'ai pas trouvé de différence (mais mon usage
est très limité)
Merci d'avance,
NF
--
"Je ne deteste que les bourreaux" -- Albert Camus
Pour m'écrire un mail, veuillez retirer PASDEPUB de mon adresse ;)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Anthony Fleury
Noé Falzon wrote:
Bonjour,
Bonjour,
en lisant la référence pour la fonction fopen, je vois qu'il est possible d'ouvrir un fichier en "mode binaire". Qu'est-ce que cela signifie ? À l'usage je n'ai pas trouvé de différence (mais mon usage est très limité)
Pour faire simple, quand on ouvre un fichier sans le mode binaire, on considère ce fichier comme un fichier texte. Ce qui fait que certains caractères ne devraient pas s'y trouver. Ceci peut provoquer une fin de fichier prématurée, car certaines valeurs selon le système peuvent représenter EOF (c'est le cas par exemple de 0x1A sous msdos...) De plus, dans le mode binaire, les caractères de passages à la ligne ne sont pas interprétés comme tels. Ce qui fait que le contenu du fichier n'est pas « altéré » par quelque modification que ce soit.
En gros, lorsque l'on veut traiter autre chose qu'un fichier texte normal, on ouvre en mode binaire si on ne veut pas avoir de soucis.
-- Anthony Fleury
Noé Falzon wrote:
Bonjour,
Bonjour,
en lisant la référence pour la fonction fopen, je vois qu'il est
possible d'ouvrir un fichier en "mode binaire". Qu'est-ce que cela
signifie ? À l'usage je n'ai pas trouvé de différence (mais mon usage
est très limité)
Pour faire simple, quand on ouvre un fichier sans le mode binaire, on
considère ce fichier comme un fichier texte. Ce qui fait que certains
caractères ne devraient pas s'y trouver. Ceci peut provoquer une fin de
fichier prématurée, car certaines valeurs selon le système peuvent
représenter EOF (c'est le cas par exemple de 0x1A sous msdos...) De plus,
dans le mode binaire, les caractères de passages à la ligne ne sont pas
interprétés comme tels. Ce qui fait que le contenu du fichier n'est pas «
altéré » par quelque modification que ce soit.
En gros, lorsque l'on veut traiter autre chose qu'un fichier texte normal,
on ouvre en mode binaire si on ne veut pas avoir de soucis.
en lisant la référence pour la fonction fopen, je vois qu'il est possible d'ouvrir un fichier en "mode binaire". Qu'est-ce que cela signifie ? À l'usage je n'ai pas trouvé de différence (mais mon usage est très limité)
Pour faire simple, quand on ouvre un fichier sans le mode binaire, on considère ce fichier comme un fichier texte. Ce qui fait que certains caractères ne devraient pas s'y trouver. Ceci peut provoquer une fin de fichier prématurée, car certaines valeurs selon le système peuvent représenter EOF (c'est le cas par exemple de 0x1A sous msdos...) De plus, dans le mode binaire, les caractères de passages à la ligne ne sont pas interprétés comme tels. Ce qui fait que le contenu du fichier n'est pas « altéré » par quelque modification que ce soit.
En gros, lorsque l'on veut traiter autre chose qu'un fichier texte normal, on ouvre en mode binaire si on ne veut pas avoir de soucis.
-- Anthony Fleury
Horst Kraemer
Noé Falzon wrote:
Bonjour, en lisant la référence pour la fonction fopen, je vois qu'il est possible d'ouvrir un fichier en "mode binaire". Qu'est-ce que cela signifie ? À l'usage je n'ai pas trouvé de différence (mais mon usage est très limité)
Le mode "texte" est un niveau d'abstraction au dessus du niveau des bytes "crus" du fichier. De différents systèmes d'exploitation se servent de données différentes pour marquer une "fin de ligne" dans le fichier. Sous MS-DOS/Windows une fin de ligne est marquée par les deux caractères consécutifs 0x0d 0x0a (13 10), sur le Mac par un seule byte 0x0d (13) et sous UNIX en général par un seul byte 0x0a (10) - et il y a aussi des systèmes où une fin de ligne est marquée par le byte 0. Dans un programme C toute fin de ligne sous n'importe quel système d'exploitation apparait en forme du caractère 'n' dont la valeur numérique n'intéresse pas. fputc('n',file) produit donc toujours la "bonne" fin de ligne sur tout système d'exploitation si le fichier est ouvert en mode "texte". Sous Wndows le programme produira la séquence 0x0d 0x0a. En plus une implémentation sous Windows interprète le byte 0x01a (26) dans le fichier ouvert en mode texte pour des raison historiques comme fin "logique" du fichier bien que le fichier physique pourrait toujours contenir un nombre quelconque de bytes.
Un fichier ouvert en mode binaire interprète les bytes comme il sont sans y attacher des significations spéciales.
Sous Linux il n`y pas de différence entre les deux modes.
-- Horst
Noé Falzon <noe.falzonPASDEPUB@tiscali.fr> wrote:
Bonjour,
en lisant la référence pour la fonction fopen, je vois qu'il est
possible d'ouvrir un fichier en "mode binaire". Qu'est-ce que cela
signifie ? À l'usage je n'ai pas trouvé de différence (mais mon usage
est très limité)
Le mode "texte" est un niveau d'abstraction au dessus du niveau des
bytes "crus" du fichier. De différents systèmes d'exploitation se
servent de données différentes pour marquer une "fin de ligne" dans le
fichier. Sous MS-DOS/Windows une fin de ligne est marquée par les deux
caractères consécutifs 0x0d 0x0a (13 10), sur le Mac par un seule byte
0x0d (13) et sous UNIX en général par un seul byte 0x0a (10) - et il y
a aussi des systèmes où une fin de ligne est marquée par le byte 0.
Dans un programme C toute fin de ligne sous n'importe quel système
d'exploitation apparait en forme du caractère 'n' dont la valeur
numérique n'intéresse pas. fputc('n',file) produit donc toujours la
"bonne" fin de ligne sur tout système d'exploitation si le fichier est
ouvert en mode "texte". Sous Wndows le programme produira la séquence
0x0d 0x0a. En plus une implémentation sous Windows interprète le byte
0x01a (26) dans le fichier ouvert en mode texte pour des raison
historiques comme fin "logique" du fichier bien que le fichier
physique pourrait toujours contenir un nombre quelconque de bytes.
Un fichier ouvert en mode binaire interprète les bytes comme il sont
sans y attacher des significations spéciales.
Sous Linux il n`y pas de différence entre les deux modes.
Bonjour, en lisant la référence pour la fonction fopen, je vois qu'il est possible d'ouvrir un fichier en "mode binaire". Qu'est-ce que cela signifie ? À l'usage je n'ai pas trouvé de différence (mais mon usage est très limité)
Le mode "texte" est un niveau d'abstraction au dessus du niveau des bytes "crus" du fichier. De différents systèmes d'exploitation se servent de données différentes pour marquer une "fin de ligne" dans le fichier. Sous MS-DOS/Windows une fin de ligne est marquée par les deux caractères consécutifs 0x0d 0x0a (13 10), sur le Mac par un seule byte 0x0d (13) et sous UNIX en général par un seul byte 0x0a (10) - et il y a aussi des systèmes où une fin de ligne est marquée par le byte 0. Dans un programme C toute fin de ligne sous n'importe quel système d'exploitation apparait en forme du caractère 'n' dont la valeur numérique n'intéresse pas. fputc('n',file) produit donc toujours la "bonne" fin de ligne sur tout système d'exploitation si le fichier est ouvert en mode "texte". Sous Wndows le programme produira la séquence 0x0d 0x0a. En plus une implémentation sous Windows interprète le byte 0x01a (26) dans le fichier ouvert en mode texte pour des raison historiques comme fin "logique" du fichier bien que le fichier physique pourrait toujours contenir un nombre quelconque de bytes.
Un fichier ouvert en mode binaire interprète les bytes comme il sont sans y attacher des significations spéciales.
Sous Linux il n`y pas de différence entre les deux modes.
-- Horst
Noé Falzon
D'accord, je comprends. Merci !
-- "Je ne deteste que les bourreaux" -- Albert Camus
Pour m'écrire un mail, veuillez retirer PASDEPUB de mon adresse ;)
D'accord, je comprends.
Merci !
--
"Je ne deteste que les bourreaux" -- Albert Camus
Pour m'écrire un mail, veuillez retirer PASDEPUB de mon adresse ;)