C,逐行阅读

时间:2014-12-18 13:27:28

标签: c file line

我正在使用C制作RPG游戏,我需要从单个文件中读取。拥有多个文件非常繁琐。像“health.dat”,“energy.dat”,“money.dat”等我想把它们放到一个“data.dat”中,这可能吗?

我只想从文件中读取特定行 如果第1行有“数字1”,那么它应该转到“a”变量,第2行应该转到“b”变量等。

非常感谢。

2 个答案:

答案 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变量设置为文件中一行的最大预期长度。您还应该测试fopenfgets以返回NULL,因为两者都是错误条件。