fseek fread fwrite fgetc fgets的用法
函数名: fgets
功 能: 从流中读取一字符串
用 法: char *fgets(char *string, int n, FILE *stream);
形参注释:*string结果数据的首地址;n-1:一次读入数据块的长度,其默认值为1k,即1024;stream文件指针
fgetc: 从流中读取字符
fseek 1.函数功能
用来读写一个数据块。
2.一般调用形式
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
3.说明
(1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。
(2)size:要读写的字节数;
(3)count:要进行读写多少个size字节的数据项;
(4)fp:文件型指针。
4.例:
1.fread(&id,1,10,f)就是把f里面的值读到id里面,每次读1个字节,一共读10次,或者把id里面的值都读完,不到10次也会停止。
2.fwrite(&id,1,10,f)就是把id里面的值读到f里面,每次读1个字节,一共读10次或是fread(&id,10,1,f)就是把id里面的值读到里面,每次读10个字节,一共读1次。
函数名: fseek
功 能: 重定位流上的文件指针
用 法: int fseek(FILE *stream, long offset, int fromwhere);
程序例:
#include <stdio.h>
long filesize(FILE *stream);
int main(void)
{
FILE *stream;
stream = fopen("MYFILE.TXT", "w+");
fprintf(stream, "This is a test");
printf("Filesize of MYFILE.TXT is %ld bytes/n", filesize(stream));
fclose(stream);
return 0;
}
long filesize(FILE *stream)
{
long curpos, length;
curpos = ftell(stream);
fseek(stream, 0L, SEEK_END);
length = ftell(stream);
fseek(stream, curpos, SEEK_SET);
return length;
}
调用形式:
#include"stdio.h"
fseek(文件类型指针fp,位移量,起始点);
函数功能:把与fp有关的文件位置指针放到一个指定位置。
其中,“位移量”是long型数据,它表示位置指针相对于“起始点”移动的字节数。如果位移量是一个正数,表示从“起始点”开始往文件尾方向移动;如果位移量是一个负数,则表示从“起始点”开始往文件头方向移动。
“起始点”不能任意设定,它只能是在stdio.h中定义的三个符号常量之一:
起始点
对应的数字
代表的文件位置
SEEK_SET
0 文件开头
SEEK_CUR
1 文件当前位置
SEEK_END
2 文件末尾
例如:
fseek(fp,50L,0);或fseek(fp,50L,SEEK_SET);
其作用是将位置指针移到离文件头50个字节处。
putpixel函数:
putpixel(int x,int y,int color)
x,y为坐标,color为颜色值.该函数在(x,y)点设定象素的颜色.由于硬件的不同,也许提供的函数不同,用户可把此函数作为参考,必要时用硬件提供的函数取而代之.
原型:extern void putpixel(int x, int y, int mode);
用法:#include <system.h>
功能:在屏幕的指定位置上画点
说明:(x,y)为屏幕上点的坐标,mode值含义如下:
mode=0:清除(x,y)处的点
1:在(x,y)处画点
2:将(x,y)处的点的状态取反
举例:
// pixel.c
#include <system.h>
main()
{
int i,j;
clrscr();
printf("V");
gotoxy(10,10); // Hide cursor
for(i=0;i<8;i++)
for(j=0;j<16;j++)
{
if(getpixel(i,j))
putpixel(10+i,10+j,1);
else
putpixel(10+i,10+j,0);
}
getchar();
return 0;
} |
|