Ceci est un problème très simple, donc je sais qu'il me manque quelque chose d'évident, mais je n'arrive pas à le comprendre. J'essaie simplement de lire le texte ligne par ligne en utilisant des fgets, mais je reçois des informations supplémentaires que je suppose être associé à l'en-tête du fichier.Informations d'en-tête inattendues à partir de fgets
Longue histoire courte, je fait un nouveau fichier texte à l'aide de nano qui est tout simplement un chiffre décimal par ligne, à savoir:
2
8
3
4
...
Mon code pour lire le fichier est:
char line[20];
FILE * fp;
fp = fopen(infile, "r");
if (fp == NULL)
exit(EXIT_FAILURE);
while(fgets(line, sizeof(line), fp)) {
... do some stuff ...
}
fclose(fp);
Cependant , la première ligne renvoyée est "\177ELF\002\001\001"
et toutes les lignes suivantes jusqu'à ce qu'elle se termine sont vides ""
.
Des suggestions sur les raisons pour lesquelles je ne lis pas ce que j'attends? Le fait de créer le fichier avec nano a-t-il introduit un contenu indésirable supplémentaire que je ne veux pas? Si oui, comment pourrais-je éviter cela?
Qu'est-ce que 'infile'? On dirait que 'infile' contient un chemin vers un fichier ELF. – Downvoter
Je ne vois aucune fonction de sortie. Où est le [mcve]? – Olaf
Vous devriez probablement supprimer cette question. Il est peu probable d'aider quelqu'un d'autre. –