Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
fread(buffer=struct,struct的大小,数组中struct的计数,数组)是否可能?_C_Arrays_Struct_Fread - Fatal编程技术网

fread(buffer=struct,struct的大小,数组中struct的计数,数组)是否可能?

fread(buffer=struct,struct的大小,数组中struct的计数,数组)是否可能?,c,arrays,struct,fread,C,Arrays,Struct,Fread,到目前为止,我的函数如下所示: int orderList (struct artikel_t * order_arr, int arr_size_order) { struct artikel_t akt_artikel_order; int icount_order=0; struct order_list { int lfd_nr; int art_nr; char bezeichner[MAXCHAR]; int bestellmenge; fl

到目前为止,我的函数如下所示:

int orderList (struct artikel_t * order_arr, int arr_size_order)
{
struct artikel_t akt_artikel_order;

int icount_order=0;
struct order_list {
    int lfd_nr;
    int art_nr;
    char bezeichner[MAXCHAR];
    int bestellmenge;
    float preis;
    float gesamtpreis;};


struct order_list bestellung[arr_size_order];

while (fread(&akt_artikel_order, akt_artikel_order, arr_size_order, order_arr) < arr_size_order)
{

    bestellung[icount_order].lfd_nr=icount_order;
    bestellung[icount_order].art_nr=akt_artikel_order[icount_order].art_nr
    strcpy(bestellung(icount_count).bezeichner, "akt_artikel_order.bezeichner");

    bestellung[icount_order].bestellmenge=(akt_artikel_order[icount_order].min)*4);
    bestellung[icount_order].preis=akt_artikel_order[icount_order].preis;
    bestellung[icount_order].gesamtpreis=((akt_artikel_order[icount_order].preis)*(akt_artikel_order[icount_order].min)*4);

    icount_order++;

}
}
int orderList(结构artikel\u t*order\u arr,int arr\u size\u order)
{
结构artikel_t akt_artikel_顺序;
int icount_order=0;
结构顺序表{
国际lfd_nr;
国际艺术中心;
char-bezeichner[MAXCHAR];
内特贝斯特门奇;
浮标;
float gesamtpreis;};
结构顺序列表最佳排列[排列大小顺序];
而(fread(&akt_artikel_订单、akt_artikel_订单、arr_大小订单、order_arr)
函数orderList接收struct artikel_t类型数组的第一个元素的地址,该数组是在另一个函数中创建的,并在orderList打开之前传递给main;此数组包含arr\u size\u order元素。然后,函数orderList应该创建一个struct order_list类型的新数组。然后,数组中每个结构的元素(lfd_nr、art_nr,…)将填充*orderArray指向的数据

稍后我将编写函数的其余部分(以有用的was等格式将数组发送到stdout)

我的问题是:fread函数是否正确编写,使用fread a)从数组读取和b)读取结构是否合法


我希望这是有意义的。

是的,但由于填充的原因,它不会像你认为的那样。填充不是对我的结构进行排序,使它们都具有相同的长度,而与实际内容无关吗?因此,术语“akt_artikel_order”将是合法的大小规范?
size_t fread(void*ptr、size_t size、size_t nmemb、FILE*stream)
fread的最后一个参数必须是
文件*
。如果你通过了一个
结构artikel\u t*
,你的编译器应该会大惊小怪。