5000 の名前と 5000 の対応する給与のリストを配列に格納するようなデータベースを作成したいのですが、コンソールがクラッシュするか、コンパイラが次のエラーを表示するため、単に問題を見つけることができません:「変換できません」 char* ( )[30]' to 'char ' for argument '1' to 'char*' fgets(char*,int,*FILE)".
編集:コードで理解できるものはすべて変更しましたが、特にこの行に問題があるようです:
person* TAB = calloc(N, sizeof(struct));
他のエラー (経験不足) を見つけることができません。また、fgets の代わりに何を使用すればよいか正確にわかりません。
#include <stdio.h>
#include <stdlib.h>
#define N 5000
typedef struct {
char name[30]
int salary;
} person;
int main()
{
person* TAB = calloc(N, sizeof(struct));
FILE * input;
input = fopen("in.txt","r+");
int nr=0;
int r;
while(nr<5000)
{
fscanf(input,"%s",TAB[nr].name);
fscanf(input,"%d",TAB[nr].salary);
nr++;
}
printf("%s %d",TAB[1].name,TAB[1].salary);
fclose(input);
return 0;
}