当前位置:首页 » 编程语言 » c语言文件位置指针
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言文件位置指针

发布时间: 2022-01-13 08:43:27

c语言中,文件指针中隐含的位置指针是怎么回事

你指的是缓冲区位置呀。
fgetpos(),fseek(),fsetpos()这三个函数可以实现对文件读取中位置的操作

fseek ()
函数名: fseek
功 能: 重定位流上的文件指针
用 法: int fseek(FILE *stream, long offset, int fromwhere);
描 述: 函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
返回值: 成功,返回0,否则返回其他值。

fgetpos()
函数名: fgetpos
功 能: 取得当前文件的句柄
用 法: int fgetpos(FILE *stream,*fpos_t filepos);
程序例:
#include <string.h>
#include <stdio.h>
int main(void)
{
FILE *stream;
char string[] = "This is a test";
fpos_t filepos;
/* open a file for update */
stream = fopen("DUMMY.FIL", "w+");
/* write a string into the file */
fwrite(string, strlen(string), 1, stream);
/* report the file pointer position */
fgetpos(stream, &filepos);
printf("The file pointer is at byte\
%ld\n", filepos);
fclose(stream);
return 0;
}

fsetpos ()
函数名: fsetpos
功 能: 定位流上的文件指针
用 法: int fsetpos(FILE *stream, const fpos_t *pos);

还不明白的话可以到专门网站上查查这三个函数

⑵ C语言文件位置指针的操作函数问题

函数原型
int fseek( FILE *stream, long offset, int origin );

stream为要操作的文件指针,offset为移动的范围,origin为起始位置
origin:SEEK_CUR为从文件的当前位置移动
SEED_END为从文件的末尾向前移动
SEEK_SET为从文件的开始向后移动
简单吧:)

⑶ C语言的文件的位置指针

网上给你找的,你看看哈。注意形象化的概念。
-----------------------------
在学习文件定位函数之前,需要了解一下文件位置指针的概念。文件位置指针只是一个形象化的概念,在C语言中用文件位置指针来表示文件当前读或写的数据在文件中的位置。当通过fopen函数打开文件时,可以认为文件位置指针总是指向文件的开头、第一个数据之前。

当文件位置指针指向文件末尾时,表示文件结束。当进行读操作时,总是从文件位置指针所指的位置开始,去读其后的数据,然后位置指针移到尚未读的数据之前,以备指示下一次的读(或写)操作。当进行写操作时,总是从文件位置指针所指位置去写,然后移到刚写入的数据之后,以备指示下一次输出的起始位置。

“文件指针”和“文件位置指针”是两个不同的概念。

文件指针是指在程序中定义的FILE类型的变量,通过fopen函数调用给文件指针赋值,使文件指针和某个文件建立联系(这种联系实际上是通过fopen函数说明使用文件的方式),C语言中通过文件指针实现对文件的各种操作。

摘自:东北大学出版社李一波编着《新概念C语言》
--------------------------------------

⑷ c语言怎样移动文件指针到制定位置啊

参数为下列其中一种:

SEEK_SET:从距文件开头 offset 位移量为新的读写位置;

SEEK_CUR:以目前的读写位置往后增加 offset 个位移量;

SEEK_END:将读写位置指向文件尾后再增加 offset 个位移量。

⑸ C语言新手求解。关于文件、文件指针、文件位置指针和文件函数

1、到底是没有哪个文件,是没有msdev.exe、还是程序中要打开的文件
2、程序创建文件,在哪个,得看代码是如何写、路径是如何的
3、文件没有地址,有路径,如果不写路径就是默认的当前路径
4、如上面3的回答
。。。。。。。。
没有文件,如果要打开则需要自己先创建,根据需求创建
。。。。。。。。。

⑹ c语言,文件指针

fp 是用来指向 FILE 结构类型的一个指针,
fopen 执行后,fp 将指向一个 FILE 结构,这个结构代表了这个文件。

⑺ C语言或者C++获取文件中关键字所在位置的指针

1.当文件不太大的时候,可以先打开文件,然后读取文件所有内容到一个缓冲区里,然后使用strstr来查找关键字在缓冲区哪个位置,对应文件位置用fseek就可以。
2.当文件大的时候,因为你要的是字符串,为了防止漏掉,你最好不要用缓冲区去一部分一部分套。你必须打开文件,然后用fgetc这样的函数一个字符一个字符去读。当发现与关键字首字符相同的字符时,查看这个字符与后面的字符串是否能组成关键字,如果不能则继续查找,直到文件结束。

⑻ C语言文件指针

用强制类型转换
flag
=
(unsigned
int)(*infile);
可以用printf("flag
=
%d,
*infile
=
%d
",
flag,
*infile)测试。
补充:
上次匆匆忙忙看了你的问题,觉得有点奇怪,今天在VC上调了一下,不知道你的编译环境是什么,我在VC6.0上printf("\n
%d",*infile);
是一个大整数,应该是一个指针值,理论上也应该如此,infile本来就是一个文件句柄。
看你的需求仿佛是想在读取文件时能知道当前读取的字节数,还是应该用ftell(FILE
*)函数,如果想得到整个文件的大小,先移动到文件末尾,然后ftell(),ftell()示例如下,在VC6.0上编译调试通过:
#include
<stdio.h>
void
main()
{
char
k;
FILE
*infile;
char
in_name[]
=
"test.txt";
//接收要打开的文件名
infile
=
fopen(in_name,"rb");
//假设文件能正常打开
while(!feof(infile))
//判断是否文件尾
{
printf("%d\n",
ftell(infile));
k=fgetc(infile);
//读入一个字符
}
}

⑼ C语言中如何定位文件txt的光标

1、使用fseek函数即可更改文件指针的位置。

函数名: fseek
功 能: 重定位流上的文件指针
用 法: int fseek(FILE *stream, long offset, int fromwhere);
描 述: 函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
返回值: 成功,返回0,否则返回其他值。

2、例子:

fseek(fp,100L,0);//把文件内部指针移动到离文件开头100字节处;
fseek(fp,100L,1);//把文件内部指针移动到离文件当前位置100字节处;
fseek(fp,-100L,2);//把文件内部指针退回到离文件结尾100字节处。

⑽ C语言中文件流操作中文件位置指针是怎样变化的

当你用一个指针打开一个文件的时候,指针是指向文件开头的。你读多少位,指针就会像后移动多少。
你也可以用fseek
来控制指针的位置。关闭文件后
记得把指针置成null,希望能帮到你~