を含む Players.txt というファイルがあります
デル・ピエロ|3|イタリア|ユベントス・ロナウド|0|ポルトガル|レアル・マドリード
各病棟を個別の配列に読み込みたいのですが、配列プレーヤーが含まれるplayers[NUM_PLAYERS][NAME_LENGTH]={ Del Piero,Ronaldo}
ように、他の配列と同様に、
fgets と呼ばれる関数といくつかの文字列関数を使用する必要があることはわかっています。
これが私が試したものです。私の質問は次のとおりです。別のプログラムや文字列プログラムを使用するなど、私の問題に対する他のアプローチはありますか? そして、このファイルからゴール数を取得してファイルに保存する方法
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <stddef.h>
#include <ctype.h>
#define NUM_PLAYERS 20
#define NAME_LENGTH 100
#define COUNTRY_NAME 20
int main (void)
{
FILE *Players;
char player_name [NUM_PLAYERS][NAME_LENGTH] = {0};
char team_name[NUM_PLAYERS][NAME_LENGTH] = {0};
char country_name[NUM_PLAYERS][COUNTRY_NAME] = {0};
char temp_buffer[NAME_LENGTH]={0};
int goals_scored[NUM_PLAYERS] = {0};
char *ptr1,*ptr2,*ptr3;
int i;
Players = fopen("Players.txt", "r");
if (Players == NULL)
{
printf("File not found.\n");
}
else
{
i=0;
while ((fgets(temp_buffer,sizeof(temp_buffer), Players) != NULL) && i < NUM_PLAYERS)
{
ptr1 = strchr(temp_buffer, '|');
strncpy(player_name[i], temp_buffer, ptr1 - temp_buffer);
printf("the name of the player is %s\n.", player_name[i]);
i ++;
}
}
fclose(Players);
return 0;
}