Как сохранить отдельные строки из текстового файла в массиве? - PullRequest
0 голосов
/ 08 января 2020

Я беру класс программирования в C и пытаюсь создать словарь с символами и буквами для программы ex. A =?, B =! и так далее.

буква и ее определенный символ сохраняются в текстовом файле, каждый в строке так:

A ?

B !

C =

D &

et c ...

я используя FILE * fPointer и gets для чтения и сохранения построчно l oop, я хочу сохранить каждую строку в массиве:

#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?" vocab [1] = "B!" ...

Это дает мне следующее предупреждение: присваивание делает целое число из указателя без приведения,

1 Ответ

0 голосов
/ 08 января 2020

Вы можете использовать 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...