已知一个文件中存放若干工人档案记录,其数据结构 如下: struct a { char number[100]; int age; float p[6];}; 定义一个数组:struct a number[

admin2015-08-22  75

问题 已知一个文件中存放若干工人档案记录,其数据结构
    如下:
    struct a
    {  char number[100];
    int age;
    float p[6];};
    定义一个数组:struct a number[10];
    假定文件已正确打开,不能正确地从文件中读入10名工人数据到数组b中的是(    )。

选项 A、fread(b,sizeof(struct a),10,fp);
B、for(i=0;i<10;i++)
ffead(b,sizeof(struct a),1,fp);
C、for(i=0;i<10;i++)
fread(b+i,sizeof(struct a),1,fp);
D、for(i=0;i<5;i+=2)
fread(b+i,sezeof(struct a),2,fp);

答案B

解析 数据块输入/输出函数的调用形式为:fread(buffei,size,count,fp)。
  fread函数参数说明:
  “buffer”是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输…数据的地址。“size”是要读写的字节数;“count”是要进行读写多少个size字节的数据项;
  “fp”是指文件型指针。选项B)中b是一个数组,不是指针,需改为&b
  注意:完成一次读操作(fread())后,如果没有关闭流(fclose()),则指针(FILE*fp)自动向后移动前一次读写的长度,不关闭流则继续下一次读操作,接着上次的输出继续输出。  
转载请注明原文地址:https://jikaoti.com/ti/RDkiFFFM
0

相关试题推荐
最新回复(0)