J'ai une ligne dans un fichier comme ceci: "33 sun 15:00 FCM - SIF 3 - 0". Je dois extraire toutes les données. J'ai ce code jusqu'ici, ce qui fait une petite erreur lors de l'extraction des chaînes "soleil", "FCM" et "SIF". Il fait "soleil" en "sunFCMSIM", "FCM" en "FCMSIF" alors que "SIF" est correct.Lire plusieurs chaînes avec fscanf en C
Vous pouvez simplement créer le fichier d'entrée à partir de plusieurs lignes comme celle ci-dessus. Comment puis-je m'assurer que cette information est extraite correctement?
#include <stdio.h>
#include <stdlib.h>
#define LINEBUFFERSIZE 50
#define TEAMNAMELENGTH 3
#define WEEKDAYLENGTH 3
void __construct(char fileName[FILENAME_MAX]) {
FILE *inputFile;
char buffer[LINEBUFFERSIZE];
// Open input file
inputFile = fopen(fileName, "r");
// Read all matches and create
while(fgets(buffer, LINEBUFFERSIZE, inputFile) != NULL){
int round, hour, minute, homeGoals, outGoals;
char outTeam[TEAMNAMELENGTH], homeTeam[TEAMNAMELENGTH], weekday[WEEKDAYLENGTH];
fscanf(inputFile, "%d %3s %2d:%2d %3s - %3s", &round, weekday, &hour, &minute, homeTeam, outTeam);
printf("Round: %d\n", round);
printf("%s %02d:%02d\n", weekday, hour, minute);
//printf("%s - %s\n", homeTeam, outTeam);
}
fclose(inputFile);
}
int main() {
/*char inputFile[FILENAME_MAX];
printf("Enter input file> "); scanf("%s", &inputFile);*/
__construct("superliga-2009-2010");
return 0;
}
Que Dieu vous bénisse :) Merde j'ai raté ça :) Merci mon pote –