Lire le texte d’un fichier en sautant des espaces ou des lignes vides

Salut. Je dois lire plusieurs fichiers sans espaces ni lignes vides entre les caractères. Ils peuvent avoir différentes dispositions, telles que 1.txt, 2.txt ou 3.txt:


1.txt:

t h i s f i l e 

2.txt:

 l i k e t h a t 

3.txt:

 something likethat 

Comment je fais ça ? Je viens d’avoir le code suivant:

 #include  #include  #include  int main(){ char c ; FILE *fp; fp = fopen("1.txt","r"); if(fp == NULL){ puts("Open file failed\n"); exit(-1); } while(fscanf(fp,"%c\n",&c)!=EOF){ /*do things with c var*/ } fclose(fp); exit(0); } 

Je pense que vous demandez comment lire dans un fichier texte, en ignorant les espaces et les lignes vides. Veuillez clarifier votre question afin que nous puissions vous aider mieux.

Voici quelque chose pour vous aider à démarrer:

Vous pouvez lire l’intégralité du fichier, puis supprimer tout ce que vous ne voulez pas. Le post suivant confirme mon expérience selon laquelle votre application fonctionnera probablement plus rapidement de cette façon: Lire un fichier plus rapidement en C

Si vous êtes d’accord avec cette approche, ce prochain article vous montrera comment lire le fichier texte dans un tampon, avec quelques erreurs de traitement des erreurs: Lecture de l’ensemble du fichier texte dans un tableau de caractères en C

Ensuite, vous pouvez utiliser quelque chose comme ceci pour supprimer les espaces, et quelque chose de similaire pour les nouvelles lignes supplémentaires: Fonction pour supprimer les espaces du tableau ssortingng / char en C

J’espère que cela vous aidera à démarrer et peut-être que quelqu’un trouvera le temps aujourd’hui de poster du code pour vous.