Мне нужно прочитать текстовый файл, используя эту структуру. Кроме того, я должен использовать внешние функции. Я сделал код для чтения файлов, и он работает в основной функции.Структура как параметр функции extern C
Текстовый файл:
banana 3 orange 8 music 9
- первый символ пробел *
#include <stdio.h>
#include <stdlib.h>
struct file
{
char name[30];
char size;
};
int main()
{
int n=0;
struct file f[30];
FILE *files;
files=fopen("files.txt","r");
int n=0;
while (1)
{
fgetc(files);
if(feof(files)) break;
fscanf(files,"%s %c",&f[n].name,&f[n].size);
n++;
}
}
Но когда я пытаюсь сделать это чтение с использованием другого файла Си и Экстерн функции это не рабочая .. :(
Это то, что написано в filereading.c:
void fileReading(struct file *f[30], FILE *files)
{
int n=0;
while (1)
{
fgetc(files);
if(feof(files)) break;
fscanf(files,"%s %c",&f[n].name,&f[n].size);
n++;
}
}
И fileReading.h:
void fileReading(struct fisier *, FILE *);
И в main.c:
#include <stdio.h>
#include <stdlib.h>
struct file
{
char name[30];
char size;
};
int main()
{
int n=0;
struct file f[30];
FILE *files;
files=fopen("files.txt","r");
fileReading(f[30],files);
}
Когда я компилирую его, он говорит:
request for member 'name' in something not a structure or union
request for member 'size' in something not a structure or union|
||=== Build finished: 2 errors, 2 warnings (0 minutes, 0 seconds) ===||
Можете ли вы помочь мне, пожалуйста? Спасибо!
'недействительным fileReading (структура файла * е [30], FILE * файлы)' '-> недействительным fileReading (struct file f [30], файлы FILE *), 'fileReading (f [30], файлы);' -> 'fileReading (f, files);' – BLUEPIXY