要求:将长度为100,内容为0-99的数组输出到txt文件中后,使用fseek和fread逐一读取并打印出里面的内容。
这与上一个程序(全部读出后打印)中的不同点在于:
- 起始点位置不同:上一个程序的起始点为开始的位置,使用SEEK_SET,而这个程序的起始点可以为任何一个当前位置,使用SEEK_CUR。
fseek有以下三种形式:最后的设置分别的文件开头,当前位置和文件末尾,第一种情况适用于上一次程序,而第二种情况适用于此次程序。
fseek(fp,offset,SEEK_SET):
fseek(fp,offset,SEEK_CUR):
fseek(fp,offset,SEEK_END): - 读取长度不同:上一个程序需要读取全部数据,因此设置的存储数组buffer的长度为190,而这个程序只需要读取一个数据,设置长度为1.还需注意的是数组是从0开始的,仅输出一个数据时,设置为buffer[0].
fread的定义如下:
fread(buffer,size,count,fp)
此外,在此次程序中还使用了printf和scanf语句进行交互操作。
代码如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j;
int k;
int n=0;
char buffer[1];
FILE *fp