ファイル操作を使用して次のことを行うために、構造体の配列をどのように malloc できますか? ファイルは .txt です。ファイルへの入力は次のようになります。
10
22 3.3
33 4.4
ファイルから最初の行を読み取り、次に、ファイルから読み取る行数に等しい入力構造の配列を malloc したいと考えています。次に、ファイルからデータを読み込み、構造体の配列 malloc に読み込みます。後で、配列のサイズを入力変数サイズに格納したいと思います。配列を返します。この後、入力変数のデータを入力ファイルと同じ形式で出力する別の関数を作成し、関数呼び出し clean_data が最後に malloc メモリを解放するとします。
私は次のようなことを試しました:
#include<stdio.h>
struct input
{
int a;
float b,c;
}
struct input* readData(char *filename,int *size);
int main()
{
return 0;
}
struct input* readData(char *filename,int *size)
{
char filename[] = "input.txt";
FILE *fp = fopen(filename, "r");
int num;
while(!feof(fp))
{
fscanf(fp,"%f", &num);
struct input *arr = (struct input*)malloc(sizeof(struct input));
}
}