b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

fscanf函数的正确调用形式_void函数如何调用_fopen函数(3)

电脑杂谈  发布时间:2017-01-19 10:02:28  来源:网络整理

{

printf(“Cannot open file strike any key exit!”);

getch();

void函数如何调用_fscanf函数的正确调用形式_fopen函数

exit(1);

}

printf(“ninput datan”);

for(i=0;i<2;i,pp)

scanf(“%s%d%d%s”,pp->name,&pp->num,&pp->age,pp->addr);

pp=boya;

for(i=0;i<2;i,pp)

fprintf(fp,”%s %d %d %sn”,pp->name,pp->num,pp->age,pp->

addr);

rewind(fp);

for(i=0;i<2;i,qq)

fscanf(fp,”%s %d %d %sn”,qq->name,&qq->num,&qq->age,qq->addr);

printf(“nnnametnumber age addrn”);

qq=boyb;

for(i=0;i<2;i,qq)

printf(“%st%5d %7d %sn”,qq->name,qq->num, qq->age,

qq->addr);

fclose(fp);

}

与例10.6相比,本程序中fscanf和fprintf函数每次只能读写一个结构数组元素,因此采用了循环语句来读写全部数组元素。 还要注意指针变量pp,qq由于循环改变了它们的,因此在程序的25和32行分别对它们重新赋予了数组的首地址。

文件的随机读写

前面介绍的对文件的读写方式都是顺序读写, 即读写文件只能从头开始,顺序读写各个数据。 但在实际问题中常要求只读写文件中某一指定的部分。 为了解决这个问题可移动文件内部的位置指针到需要读写的位置,再进行读写,这种读写称为随机读写。 实现随机读写的关键是要按要求移动位置指针,这称为文件的定位。文件定位移动文件内部位置指针的函数主要有两个, 即 rewind 函数和fseek函数。fscanf函数的正确调用形式

rewind函数前面已多次使用过,其调用形式为: rewind(文件指针); 它的功能是把文件内部的位置指针移到文件首。 下面主要介绍

fseek函数。

其表示方法如表10.2。

起始点 表示符号 数字表示

──────────────────────────

文件首 SEEK—SET0

文件末尾 SEEK—END 2

例如:

fseek(fp,100L,0);其意义是把位置指针移到离文件首100个字节处。还要说明的是fseek函数一般用于二进制文件。在文本文件中由 于要进行转换,故往往计算的位置会出现错误。fscanf函数的正确调用形式文件的随机读写在移动位置指针之后, 即可用前面介绍的任一种读写函数进行读写。由于一般是读写一个数据据块,因此常用fread和fwrite函数。下面用例题来说明文件的随机读写。

[例10.8]在学生文件stu list中读出第二个学生的数据。

#include<stdio.h>

struct stu

{

char name[10];

int num;

int age;

char addr[15];

}boy,*qq;

main()

{

FILE *fp;

char ch;

int i=1;

qq=&boy;

if((fp=fopen(“stu_list”,”rb”))==NULL)

{

printf(“Cannot open file strike any key exit!”);

getch();

exit(1);

}

rewind(fp);

fseek(fp,i*sizeof(struct stu),0);

fread(qq,sizeof(struct stu),1,fp);

printf(“nnnametnumber age addrn”);

printf(“%st%5d %7d %sn”,qq->name,qq->num,qq->age,

qq->addr);

}

文件stu_list已由例10.6的程序建立,本程序用随机读出的方法读出第二个学生的数据。程序中定义boy为stu类型变量,qq为指向boy 的指针。以读二进制文件方式打开文件,程序第22行移动文件位置指针。其中的i为1,表示从文件头开始,移动一个stu类型的长度, 然后再读出的数据即为第二个学生的数据。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27328-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...