Eh bien, EOF
est juste une valeur retournée par la fonction définie dans le C stdio.h
fichier d'en-tête. Sa en fait le retour à toutes les fonctions de lecture par l'OS, donc sa dépend du système. Lors de l'OS atteint la fin du fichier, il envoie à la fonction, qui à son retour de valeur que les endroits les plus couramment (-1
), mais pas toujours. Donc, pour résumer, EOF
n'est pas de caractère, mais constante renvoyée par le système d'exploitation.
EDIT: eh Bien, vous avez besoin d'en savoir plus à propos de système de fichiers, regardez ce.
Salut, pour ta deuxième question:
encore une fois, vous devriez regarder mieux, en filesystems
. La GRAISSE est en très bon exemple, parce que vous pouvez trouver de nombreux articles sur le sujet, et ses principes sont très similaires pour NTFS. De toute façon, une fois de plus, EOF est - NOT a character
. Vous ne pouvez pas le placer dans le fichier directement. Si vous pouviez le faire, d'en imaginer les conséquences, même "bête" fichier d'image ne peut pas être lu par le système.
Pourquoi? Parce que l'OS fonctionne comme structure très complexe de couches. Celui de la couche est le système de fichiers du pilote. Il permet de s'assurer que les transferts de données à partir des systèmes de fichiers connus pour le pilote. Il fournit un pont entre les applications et le actuall système de stockage de fichiers dans le disque dur.
Pour être exact, le système de fichiers FAT utilise ce qu'on appelle la GRAISSE de la table - c'est une table située près du début du disque dur (ou partition) adresse de l'espace, et il contient la carte de tous les clusters (peu de cellules de stockage). OK, alors maintenant, lorsque vous souhaitez enregistrer un fichier sur le disque dur, OS (système de fichiers du pilote) regarde dans la GRAISSE de la table, et recherche de la valeur "0x0". Cette "0x0" valeur dit à l'OS qui cluster dont l'adresse est décrit par l'emplacement de cette valeur dans la table FAT est libre d'écrire.
Ainsi il écrit dans la première partie du fichier. Que, il cherche une autre "0x0" valeur en GRAS, et le cas échéant, de l'écriture de la deuxième partie du fichier en cluster qui il souligne. Que, il modifie la valeur de la première GRAS enregistrement de la table où se trouve le fichier à l'adresse physique de la prochaine dans notre cas, la deuxième partie du fichier.
Lorsque votre fichier est stocké sur le disque dur, maintenant vient la partie finale, il écrit souhaité EOF valeur, mais dans la GRAISSE de la table, pas dans le "cadre" du disque dur. Ainsi, lorsque le fichier est lu à la prochaine fois, il sait que c'est la fin, ne pas chercher plus loin.
Alors, maintenant, à vous de voir, si vous voulez écrire manuellement les expressions du FOLKLORE en valeur la place qu'il doesent appartiennent, vous devez écrire votre propre pilote qui serait en mesure de réécrire la GRAISSE, mais c'est pratiquement impossible à faire pour les débutants.