fseek fread c语言指针移动函数(转)
来源:互联网 发布:雷军不会英文编程 编辑:程序博客网 时间:2024/05/16 00:43
fseek(in,-1L,1); -- 文件流in, 零点为当前指针位置,SEEK_CUR 就是 1, -1L -- 文件指针回退1个字节int fseek( FILE *stream, long offset, int origin );
第一个参数stream为文件指针
第二个参数offset为偏移量,整数表示正向偏移,负数表示负向偏移
第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET
SEEK_SET: 文件开头
SEEK_CUR: 当前位置
SEEK_END: 文件结尾
其中SEEK_SET,SEEK_CUR和SEEK_END和依次为0,1和2.
简言之:
fseek(fp,100L,0);把fp指针移动到离文件开头100字节处;
fseek(fp,100L,1);把fp指针移动到离文件当前位置100字节处;
fseek(fp,100L,2);把fp指针退回到离文件结尾100字节处。
fread
功 能: 从一个流中读数据
函数原型: size_tfread(void*buffer,size_tsize,size_tcount,FILE*stream);
参 数:
1.用于接收数据的地址(指针)(buffer)
2.单个元素的大小(size) :单位是字节而不是位,例如读取一个整型数就是2个字节
3.元素个数(count)
4.提供数据的文件指针(stream)
返回值:成功读取的元素个数 程序例
#include <stdio.h>
int main(void)
{
FILE *stream;
char msg[] = "this is a test";
char buf[20];
if ((stream = fopen("DUMMY.FIL", "w+"))
== NULL)
{
fprintf(stderr,
"Cannot open output file.\n");
return 1;
}
/* write some data to the file */
fwrite(msg, strlen(msg)+1, 1, stream);
/* seek to the beginning of the file */
fseek(stream, 0, SEEK_SET);
/* read the data and display it */
fread(buf, strlen(msg)+1, 1,stream);
printf("%s\n", buf);
fclose(stream);
return 0;
}
fwrite:
fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
返回值:返回实际写入的数据块数目
#include<stdio.h>
#define SIZE 1
typedef
struct
{
char
name[10];
int
num;
int
age;
char
addr[15];
}student;
student stu[SIZE];
void
save()
{
FILE
* fp;
int
i;
if
((fp=
fopen
(
"dat.txt"
,
"w"
))==NULL)
{
printf
(
"无法打开此文件!\n"
);
return
;
}
for
(i=0;i<SIZE;i++)
if
(
fwrite
(&stu[i],
sizeof
(student), 1, fp) != 1)
printf
(
"文件写入错误。!\n"
);
fclose
(fp);
}
void
main()
{
int
i;
for
(i=0;i<SIZE;i++)
scanf
(
"%s%d%d%s"
,&stu[i].name,&stu[i].num,&stu[i].age,&stu[i].addr);
save();
}
参考:http://hi.baidu.com/wengjiang000/item/867ead5da7d95c10abf6d736
- fseek fread c语言指针移动函数(转)
- fseek c语言指针移动函数
- C语言函数fread() , fwrite() ,fseek()用法分析
- C语言函数fseek, fread, ftell的使用
- c语言中的 fopen fseek fread fwrite
- c语言文件操作 fread(),fseek()
- c fread fseek
- C语言fseek()函数:移动文件流的读写位置
- C语言fread()函数
- C语言文件流操作的二进制读写和定位(fwrite、fread、fseek)
- C语言文件读写常识(fseek, ftell, fread, fwrite, fopen)
- C语言中的基本文件操作:fopen , fread , fseek , fclose.
- C语言中fread(),fwrite(),fseek()用法和功能
- C语言fseek函数了解
- c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
- c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
- c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
- c语言中所有文件操作函数详解fopen、fwrite、fread、fgetc、fputc、fscanf、fprintf、ftell、fseek等函数
- MTKAndroid添加驱动模块
- Ubuntu 安装程序
- STM32时钟树
- RedHat、Fedora、Centos如何安装软件
- visual stuio 20**(vs20**)自定义快捷键(快捷键失效,冲突时可以自己设定的啦......)
- fseek fread c语言指针移动函数(转)
- mysql innodb 索引深入解析
- JQuery Offset实验与应用
- IP地址、子网掩码、网关的关系?
- C语言排序(11)___今年暑假不AC
- 数组指针和指针数组
- cook操作
- “#if 0/#if 1 ... #endif”的作用
- 026从尾到头打印链表(keep it up)