Comment afficher 2 paragraphes ensemble ?
geekat
Messages postés
228
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaite afficher un texte qui contient des sauts de ligne (pour le moment, j'essaie avec un seul saut de ligne).
Mais voilà, à l'affichage j'ai 2 textes, et des traitements séparés pour les 2 textes.
Voici le bout de code :
Pourquoi j'ai 2 textes ? Comment faire pour les afficher en 1 seul ?
Merci
Je souhaite afficher un texte qui contient des sauts de ligne (pour le moment, j'essaie avec un seul saut de ligne).
Mais voilà, à l'affichage j'ai 2 textes, et des traitements séparés pour les 2 textes.
Voici le bout de code :
#include <stdio.h> #include <string.h> #include <stdlib.h> #include "tri.h" #define TAILLE_MAX 4700 int main(){ FILE * fichier, * fichier_cree, * fichier_stopwords, * fichier_lexique; char chaine[TAILLE_MAX]; char * words; // Ouverture des fichiers fichier = fopen("text-mining.txt","r"); // Texte avant analyse /*---- parcourir le fichier text-mining */ while (fgets(chaine, TAILLE_MAX, fichier)!=NULL ) { // Test ouverture if (fichier_cree != NULL) { printf("Le fichier est ouvert!"); // Ecriture dans le fichier /*-------------Ce code ne fait rien !! -----------------*/ char *tmp = strchr(chaine ,'\n'); if (tmp) tmp = '\n'; printf("\n***Texte : %s", chaine); } } return 0; }
Pourquoi j'ai 2 textes ? Comment faire pour les afficher en 1 seul ?
Merci
A voir également:
- Comment afficher 2 paragraphes ensemble ?
- Supercopier 2 - Télécharger - Gestion de fichiers
- 2 ecran pc - Guide
- Afficher taille dossier windows - Guide
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : chaque paragraphe doit être espacé de 0,42 cm ou 12 pt du paragraphe qui suit les textes ne doivent pas être en retrait à droite et à gauche après ces modifications, sur quelle page se trouve le titre « la cheminée » dans le chapitre « informations diverses » ? - Guide
- Windows 11 afficher d'autres options - Guide
1 réponse
Bonjour,
Je ne suis pas sur d'avoir bien compris ton problème.
Mais, il faut savoir que fgets() s'arrête au '\n' (sauf si la ligne est trop longue bien évidemment).
char *tmp = strchr(chaine ,'\n');
if (tmp)
tmp = '\n';
Deux erreurs. Tu remplaces '\n' par '\n', donc aucun intérêt.
Ensuite, ce n'est pas tmp='\n' qu'il faut mettre, mais
Que souhaites-tu faire exactement ? N'hésite pas à donner un exemple.
Je ne suis pas sur d'avoir bien compris ton problème.
Mais, il faut savoir que fgets() s'arrête au '\n' (sauf si la ligne est trop longue bien évidemment).
char *tmp = strchr(chaine ,'\n');
if (tmp)
tmp = '\n';
Deux erreurs. Tu remplaces '\n' par '\n', donc aucun intérêt.
Ensuite, ce n'est pas tmp='\n' qu'il faut mettre, mais
*tmp=....
Que souhaites-tu faire exactement ? N'hésite pas à donner un exemple.
En effet, grosse erreur :P. Je l'ai remplacé par :
char *tmp = strchr(chaine ,'\n');
if (tmp)
Ce qui ne change rien aussi.
Je souhaite qu'à l'affichage j'ai :
Au lieu de ça j'ai :
Ils s'affichent 2 fois chacun pour un paragraphe. Je veux les afficher ensemble pour un seul texte.
if (fichier_cree != NULL)
fichier_cree n'est pas initialisé. J'imagine que tu nous as montré qu'une partie de ton code, mais vérifie ce point.
C'est normal que tu obtiennes ça, puisque comme je t'ai dit fgets() s'arrête au '\n'.
Que veux-tu ? Qu'il s'arrête au deuxième paragraphe ou qu'il lise tout jusqu'au 4609 caractères ('\n' compris) ?
Je veux qu'il lise tout le texte qu'il s'arrête à la fin.
En fait j'utilise plus loin la fonction qui va éclater la chaîne en mots, mais le retour à la ligne pose problème.
À chaque itération, tu lis une ligne avec fgets().
Ensuite, tu enlèves le '\n' pour mettre un '\0'.
Et enfin, tu concatènes dans un buffer avec strcat().