我正在使用C制作RPG游戏,我需要从单个文件中读取。拥有多个文件非常繁琐。像“health.dat”,“energy.dat”,“money.dat”等我想把它们放到一个“data.dat”中,这可能吗?
我只想从文件中读取特定行 如果第1行有“数字1”,那么它应该转到“a”变量,第2行应该转到“b”变量等。
非常感谢。
答案 0 :(得分:0)
有可能。 你可以在fgets函数中使用指针数组。
char *fgets(char *s, int size + 1, FILE *stream);
fgets (array,size + 1,stream);
其中数组是*array[size];
答案 1 :(得分:-1)
您可以使用fgets
功能实现您所描述的内容,如下所示:
#include <stdio.h>
#include <stdlib.h>
const int MAX_LENGTH = 256;
int main (void)
{
// Open the file
FILE* file = fopen ("data.dat", "r");
// Read the lines
char a[MAX_LENGTH];
fgets (a, MAX_LENGTH - 1, file);
char b[MAX_LENGTH];
fgets (b, MAX_LENGTH - 1, file);
// ...
// Close the file
fclose (file);
return EXIT_SUCCESS;
}
将MAX_LENGTH
变量设置为文件中一行的最大预期长度。您还应该测试fopen
和fgets
以返回NULL
,因为两者都是错误条件。