我必須使用此結構讀取文本文件。另外,我必須使用外部功能。我做了文件讀取的代碼,它在主函數中工作。作爲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++;
}
}
但是當我嘗試使用其他C文件和外部函數它沒有工作,使這個閱讀.. :(
這是寫在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(結構文件* F [30],FILE *文件)' - >'無效fileReading(當我在''fileReading.h''中包含'fileReading.h'時,'fileReading(f,files);' – BLUEPIXY