gpt4 book ai didi

c - 如何在c中使用文件中的信息

转载 作者:行者123 更新时间:2023-11-30 18:42:40 24 4
gpt4 key购买 nike

因此,我们正在尝试创建一个计算来比较用户给我们的电影评分。我们已将其分为不同的团队用于我们的类(class)项目。我的任务是创建从不同团队的文件输出中读取的计算,然后使用我提出的计算创建输出。从文件中读取很好,但是我无法弄清楚如何使用该信息进行计算。

这是我的问题区域:

    long int similarity;
#define MAXLINESIZE 80
FILE* myTextFile;
char ch;
char lineBuf[MAXLINESIZE] = { '\0' };
char *person [10] = { '\0' };
char *movie [10] = { '\0' };
char *rating [10] = { '\0' };


myTextFile = fopen("C:\\users\\owner\\desktop\\movieRating.txt", "r");

if(myTextFile == NULL){
printf("Failed");
}


fgets (lineBuf, MAXLINESIZE - 1, myTextFile);

while ( !feof (myTextFile) && !ferror (myTextFile) ) {
sscanf ( lineBuf, "%s %s %s", person, movie, rating);
printf("\n person = %s \n movie = %s \n rating = %s \n", person,movie,rating);
fgets (lineBuf, MAXLINESIZE - 1, myTextFile);

}
long int per = atoi(person[10]);
long int mov = atoi(movie[10]);
long int rat = atoi(rating[10]);
{
similarity = (per + rat) * (per + rat);
return (similarity);
printf("\n Similarity is %i\n", similarity);
getchar ();
}

getchar();
getchar ();
return 0;

}

希望我已经正确解释了这一点

最佳答案

如果您的问题区域在这里:

char *person [10] = { '\0' };
char *movie [10] = { '\0' };
char *rating [10] = { '\0' };

应该改为:

char person [10] = { '\0' };
char movie [10] = { '\0' };
char rating [10] = { '\0' };

您想要一个字符数组。不是指针数组。

如果您的问题区域在这里:

long int per = atoi(person[10]);
long int mov = atoi(movie[10]);
long int rat = atoi(rating[10]);

应该改为:

long int per = atoi(person);
long int mov = atoi(movie);
long int rat = atoi(rating);

person(现在)是一个字符数组 - 这正是 atoi 所期望的。

person[10](现在)是单个字符,从数组末尾非法读取。

如果您的问题区域在这里:

return (similarity);
printf("\n Similarity is %i\n", similarity);

应该改为:

printf("\n Similarity is %i\n", similarity);
return (similarity);

返回后,函数中不再执行任何代码。

关于c - 如何在c中使用文件中的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15555783/

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