"33 sun 15:00 FCM - SIF 3-0"과 같은 파일에 줄이 있습니다. 모든 데이터를 추출해야합니다. 지금까지 "sun", "FCM"및 "SIF"문자열을 추출 할 때 약간의 오류가 발생하는이 코드가 있습니다. "sun"을 "sunFCMSIM"으로, "FCM"을 "FCMSIF"로, "SIF"는 정확합니다.C에서 fscanf를 사용하여 여러 문자열 읽기
입력 파일을 위의 것과 같이 여러 줄에서 만들 수 있습니다. 이 정보가 올바르게 추출되었는지 어떻게 확인합니까? fscanf
에 대한 문서는 s
변환 지정자에 따르면
#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;
}
신의 축복이 있습니다. :) 젠장, 나는 그것을 놓쳤습니다 :) Thanks mate –