1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
FILE* fichier = NULL;
FILE* fichier2 = NULL;
FILE* fichier3 = NULL;
char chaine[50];
char chaine2[50];
int n=0;
char mot1[50], mot2[50];
char *sous_chaine, *tmp;
fichier = fopen("IMC_Test.txt", "r");
fichier2 = fopen("CorpusTest.txt", "r");
fichier3 = fopen("res.txt", "r+");
if (fichier != NULL)
{
// On peut lire et écrire dans le fichier
while (fgets(chaine, sizeof chaine, fichier) != NULL) // On lit le fichier tant qu'on ne reçoit pas d'erreur (NULL)
{
printf("%s", chaine); // On affiche la chaîne qu'on vient de lire
sscanf(chaine,"%[^-]", mot1);
printf("%s\n", mot1);
if (fichier2 != NULL)
{
do// boucle infinie
{
fseek(fichier2, 0, SEEK_SET); // on se positionne au debut du fichier
// On peut lire et écrire dans le fichier
while (fgets(chaine2, sizeof chaine2, fichier2) != NULL) // On lit le fichier tant qu'on ne reçoit pas d'erreur (NULL)
{
printf("%s", chaine2); // On affiche la chaîne qu'on vient de lire
if ((sous_chaine = strstr(chaine2, mot1)) != NULL)
{
/* cherche un espace dans 'sous_chaine' */
if ((tmp = strchr(sous_chaine, ' ')) == NULL)
{
return EXIT_FAILURE;
}
/* remplace l'espace par '+' */
*tmp = '+';
fprintf(fichier3, "%s", chaine2);
}
}
printf("%s", chaine);
}
while (chaine== NULL);
}
}
fclose(fichier); // On ferme le fichier qui a été ouvert
fclose(fichier2); // On ferme le fichier qui a été ouvert
}
else
{
// On affiche un message d'erreur si on veut
printf("Impossible d'ouvrir le fichier test.txt");
}
return 0;
} |
Partager