Comment afficher 2 paragraphes ensemble ?
geekat
Messages postés
223
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 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
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*tmp=...
.
Que souhaites-tu faire exactement ? N'hésite pas à donner un exemple.-
Merci.
En effet, grosse erreur :P. Je l'ai remplacé par :
char *tmp = strchr(chaine ,'\n');
if (tmp)- tmp = '\0';
Ce qui ne change rien aussi.
Je souhaite qu'à l'affichage j'ai :***Texte : Premier paragraphe balblablabla................ Deuxieme paragraphe blablbelbsb .................
Au lieu de ça j'ai :***Texte : Premier paragraphe balblablabla................ ***Texte : Deuxieme paragraphe blablbelbsb .................
-
-
Autre chose :
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) ? -
-
-