gpt4 book ai didi

c - 将文本文件中的单词读取到二维数组中的问题

转载 作者:行者123 更新时间:2023-11-30 18:03:38 26 4
gpt4 key购买 nike

我最近启动了一个程序,其中我必须对客人列表进行排序,但总体问题详细信息与我遇到的问题无关。

嗯,我想分别从文件中扫描名字和姓氏,我知道您是通过将它们扫描为字符串来完成的。然而,我们刚刚开始使用字符串,我有点脑子乱了,我搜索了一些地方,但我不知道该怎么做。我在 for 循环内构造数组时也遇到问题。自从《天际》问世以来,我的思绪就完全脱离了学校:)。这是输入文本文件:

//First number is the amount of families on the list, second number is the room capacity, ignore that for now.

10 30

//Format = First Name, Last Name, Number of Family Members (ignore), Priority Level (ignore)

BEN JOHNSON 4 2

DOUG ESPINOSA 3 2

SARAH TELLINGER 5 3

GRANT THOMPSON 5 2

JENNIFER WEST 7 6

JACKSON JOHNSON 1 5

MARTY MCFLY 4 1

ELIZABETH JAMES 2 6

MICKEY MOUSE 2 4

RAJ SHAH 2 5

这是到目前为止我的代码:假设 MAX_FAMILY_MEMBERS = 10 且 MAX_NAME_LENGTH = 20

void Read_First_Name(FILE *ifp, char First_Name[//Assume MAX_FAMILY_MEMBERS is here][MAX_NAME_LENGTH]){

int i, j;

for(i = 0; i < MAX_FAMILY_MEMBERS; i++)
{
for(j = 0; j < MAX_NAME_LENGTH; i++)
{
fscanf("%s", First_Name[i][j]);
}
}}

我确信这很可能是错误的,但我很困惑并且不明白。如果对我的程序有任何疑问,请询问。

最佳答案

如果你在一个循环中使用 fgets 和 sscanf 就很容易了

char line[100], firstnames[100][100], famnames[100][100];
int counter=0;

while( fgets(line,100,yourfilepointer) )
if( sscanf(line,"%s%s",firstnames[counter],famnames[counter])==2 )
++counter;
...
while( counter-- )
printf("%s %s\n",firstnames[counter],famnames[counter]);

关于c - 将文本文件中的单词读取到二维数组中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8172046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com