繁体   English   中英

如何将文本文件中的单个行保存在数组中?

[英]How do i save individual lines from a text file in an array?

我正在学习 C 语言的编程课程,我正在尝试为程序制作一个带有符号和字母的字典。 A = ?, B =! 等等。

字母及其定义的符号保存在一个文本文件中,每个文件都在一行中,因此:

A ?

B !

C =

D &

等等...

我使用FILE * fPointergets读取和保存一行while循环线,我想保存在数组中的每一行:

#include <stdio.h>

int main()
{
    FILE * fPointer;
    fPointer = fopen("symbols.txt", "r");
    char line[50];
    char vocab[36];
    while(!feof(fPointer))
    {
        for(int i=0;i<=36;i++)
        {
            fgets(line, 50, fPointer);
            vocab[i] = line;
            printf("%s", vocab[i]);
        }
    }
}

理想情况下,它将保存数组位置中的每一行 vocab[0] = "A ?" 词汇[1] = "B !" ...

它给了我下一个警告:赋值从没有强制转换的指针生成整数,

您可以直接使用fgets代替feof ,如下所示:

#define LINES 10
#define CHARS 30

char content[LINES][CHARS];
FILE *file;
unsigned int i = 0;
file = fopen("c:\\file.txt", "r");
while ((fgets(content[i], CHARS, file)) != NULL) {
        printf("%s\n", content[i]);
        i++;
}
fclose(file);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM