dans Linux, est-il normal qu'il n'y ait pas de caractère nul à la fin du fichier?dans Linux, est-il normal qu'il n'y ait pas de caractère nul à la fin du fichier
J'ai fait un fichier vide et ouvert avec le tapis de souris écrivez az.
enregistrez-le.
lorsque j'ouvre le fichier avec l'éditeur hexadécimal, il n'y a pas de caractère nul mais 0a est là. Quel caractère nul dois-je mettre la fin du fichier?
lorsque j'écris le fichier avec un appel système.
est-ce que c'est 0a? ou 0?
merci
merci. pourriez-vous me dire comment obtenir le nombre d'octets dans un fichier? comment accéder à la valeur enregistrée (à propos de la taille du fichier) par système de fichiers? –
@kim: Probablement la meilleure façon portable est de fseek() à la fin du fichier, puis la position du fichier ftell(). –
@Kim, @Zan: 'fseek' est certainement un moyen raisonnable. 'stat' et' fstat' peuvent aussi être très pratiques, et vous donner d'autres détails intéressants comme les horodateurs de création/modification/accès et les informations de propriété. Une autre chose utile est qu'il est prudent d'essayer de lire après la fin du fichier - les fonctions 'fread' et' read' vous indiqueront généralement combien d'octets ils lisent: moins que ce que vous avez demandé (y compris 0) indiquerait la fin du fichier. 'fgets' lit une ligne de texte délimitée par une nouvelle ligne (ou autant que possible jusqu'à la fin du fichier), et retourne NULL quand il ne peut rien lire sauf la fin du fichier. –