我有一个名为 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;
}