首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【C文件操作2】如何随机进行文件读取?

SEEK_SET 0 当前位置 SEEK_CUR 1 文件末尾 SEEK_END 2 例如: 读写位置动到文件开头 fseek(fp, 0L, SEEK_SET) 读写位置动到文件末尾 fseek...(fp,0L,SEEK_END); 读写位置动到离文件开头100字节处 fseek(fp,100L,SEEK_SET); 读写位置动到离文件当前位置100字节处 fseek(fp,100L,...(fp);/*记录文件当前位置指针位置*/ fseek(fp, 0L, SEEK_END);/*读写位置动到文件末尾*/ len = ftell(fp);/*获取文件末尾到文件开头长度...*/ fseek(fp, curPos, SEEK_SET);/*再将读写位置回到之前位置*/ return len; } 代码对应设计思路如下图: ?...rewind rewind中文意思是“倒回” rewind 函数用于文件内部位置指针重新指向一个流(数据流或者文件)起始位置。 注意,这里指针”表示不是文件指针,而是文件内部位置指针

1K30
您找到你想要的搜索结果了吗?
是的
没有找到

python文件操作及seek偏移详解

f.readlines([size])      #默认文件内容讲到列表中保存 f.flush()        #缓冲中内容写入磁盘 f.tell()       #显示当前文件指针所在位置...f.close()    #关闭打开文件 f.seek()       #对文件进行指针偏移操作,有三个模式,             seek(0,0) 默认移动到文件开头或简写成seek(0)             ...print f.tell()           #显示文件指针现在位置 f.seek(2,1)              #从当前文件指针(向后)偏移2个字节 print(f.readline())...      #再打印一行(应该少2个字节) print(f.tell())          #显示 现在 指针位置 f.seek(-7,1)             #从当前位置向前偏移2个字节 print...print(f.tell())          #显示 现在 指针位置 print(f.readline())      #打印出内容 f.seek(0)  #==>默认是0 等等seek(0,0

1.1K10

Java开发者Python快速进修指南:文件操作

在Java中,我们并不经常使用像Python中那样操作模式。另外,我们还需要注意文件指针移动。无论是Java还是Python,文件都可以看作是IO流,流到哪里就算是哪里。...除非重新对文件进行操作,否则想要回到文件开头,只能通过移动指针来实现。因此,在进行文件操作时,我们需要谨慎考虑文件指针位置。...我们上面的写法是最基础,为了保证文件操作正确性和资源释放,我们需要手动关闭文件。...", "r") as file: content = file.read() print(content)当你在写入文件后,想要回到文件开头以便读取文件内容时,可以使用seek(0)指针动到文件开头位置...file.seek(0) content = file.read() print(content)使用seek(0)指针动到文件开头位置

11142

【C】文件操作(二)

前言 这里主要记录一下C对二进制读写操作, 包括随机读取文件和写入文件 fseek 和 ftell fseek fseek主要用来移动文件指针, 它允许用户像对待数组那样对待一个文件, 可以直接文件指针动到任意字节处...: SEEK_SET : 以文件开始位置作为起始点 SEEK_CUR : 以文件指针当前所在位置作为起始点 SEEK_END : 以文件结尾作为起始点 下面是一些使用示例, 其中fp是一个文件指针 fseek...(fp, 0L, SEEK_SET) // 移动到文件开头 fseek(fp, 10L, SEEK_SET) // 移动到文件第10个字节 fseek(fp, 2L, SEEK_CUR) //...从文件的当前位置向前移动两个字节 fssek(fp, 0L, SEEK_END) // 移动到文件结尾处 fseek(fp, -10L, SEEK_END) // 从文件结尾处退回10个字节 如果函数执行正常..., 那么返回值为0, 如果有错误, 则返回值为-1. ftell ftell函数用来获得当前文件指针位置, 它返回当前文件指针距离文件开始处字节数目, 函数原型如下 long int ftell (

42610

Python文件操作指南:读写、异常处理与上下文管理器详解

此外,还有两个与文件指针位置相关方法:seek(n): 文件指针动到指定字节位置。tell(): 获取当前文件指针所在字节位置。下面是一些文件读取实例操作:1....,以确保数据正确性和程序健壮性。...十、文件指针操作文件指针表示文件中当前操作位置。在文件读写中,文件指针位置决定了下一次读写操作位置seek(offset, whence): 文件指针动到指定位置。...with open('example.txt', 'r', encoding='utf-8') as file: file.seek(5) # 文件指针动到第6个字节位置 content...= file.read() print(content) print(file.tell()) # 获取读取后文件指针位置这些文件指针操作方法可以用于在文件中定位和控制读写位置

22410

Python文件操作指南:读写、异常处理与上下文管理器详解

此外,还有两个与文件指针位置相关方法:seek(n): 文件指针动到指定字节位置。tell(): 获取当前文件指针所在字节位置。下面是一些文件读取实例操作:1....,以确保数据正确性和程序健壮性。...十、文件指针操作文件指针表示文件中当前操作位置。在文件读写中,文件指针位置决定了下一次读写操作位置seek(offset, whence): 文件指针动到指定位置。...with open('example.txt', 'r', encoding='utf-8') as file: file.seek(5) # 文件指针动到第6个字节位置 content...= file.read() print(content) print(file.tell()) # 获取读取后文件指针位置这些文件指针操作方法可以用于在文件中定位和控制读写位置

24010

文件常用操作

# # f.readlines([size]) #默认文件内容讲到列表中保存 # # f.flush() #缓冲中内容写入磁盘 # # f.tell() #显示当前文件指针所在位置...# # f.close() #关闭打开文件 # # f.seek() #对文件进行指针偏移操作,有三个模式, # # 一般不是二进制,初始位置只能填0 seek(0,0) 默认移动到文件开头或简写成...seek(0) # # rb和rb+时候才能用负数 seek(x,1) 表示从当前指针位置向后移x(正数)个字节,如果x是负数,则是当前位置向前移动x个字节 # # 一个中文有三个字节,得三个三个移动...8') f.write("I love python\n") f.write("python 是世界上最美丽语言!...f.tell()) #显示 现在 指针位置 f.seek(57,0) #从尾部向前偏移9个字符 print(f.tell()) #显示 现在

55090

零基础学习 Python 之文件(二)

如果你是按照上述例子依次进行操作,就会在 f.read() 后出现上述结果,这主要是因为在前面已经 read(12) 了,指针已经移动到了第 12 个字符后面。.... >>> 是不是发现,当我们第二次循环文件时候,既没有报错,也没有显示文件内容,类似的现象在前面的 readline 中也出现过,这是因为读取文件时候,有指针随着运动,当读取结束时,指针就到了相应位置...当指针结束运动时,可以使用 tell() 告诉我们当前指针位置。...>>> f.seek(0) 0 上面的意思是指针动到文件开始,如果用 f.readline() 读取的话,现在输出应该是文件第一行: >>> f.readline() 'My name is...Rocky\n’ 其实还可以操纵指针到任何一个位置,请看下面的操作: >>> f.seek(10) 10 >>> f.tell() 10 f.seek(10) 就是位置定位到从开头算起到第 10 个字符后面

31220

【C 语言】文件操作 ( 配置文件读写 | 写出或更新配置文件 | 函数形参设置 | 确保打开文件成功 | 统计文件大小 )

error : fopen \n"); goto End; } } 三、统计文件大小 ---- 统计文件大小 : 首先 , 调用 fseek 函数 , 文件指针动到末尾...; // 文件指针动到末尾 fseek(fp, 0L, SEEK_END); 然后 , 调用 ftell 函数 获取当前指针位置 , 当前指针位置就是文件大小 ; // 获取当前指针位置..., 当前指针位置就是文件大小 file_length = ftell(fp); 最后 , 调用 fseek 函数 , 文件指针指向开始位置 ; 以便后续文件操作 , 不需要重新打开文件 ;...// 文件指针指向开始位置 fseek(fp, 0L, SEEK_SET); 代码示例 : // 统计文件大小 // 文件指针动到末尾 fseek(fp,...0L, SEEK_END); // 获取当前指针位置 , 当前指针位置就是文件大小 file_length = ftell(fp); // 文件指针指向开始位置

1.5K60

Python文件定位函数seek讲解

上一篇文章中我们在读写文件内容时候会出现后写入内容覆盖原有的内容,或者每次读取文件时候都从第一个字符开始读起,这样一来我们就没办法准确操纵读写规律,所以这里再介绍一个Python文件定位(seek...通过seek方法我们可以指定读取内容开始位置,或者从哪里写入文本内容,下面就来详细学习一下。...注意这里不是移动下标 f.seek(2, 0) # 0代表开始位置(文本文件只能是0),2代表向右偏移2个字符print(f.tell()) # 文件指针位置,这里是上面移动到第二个字符位置 content...= f.read() print(f.tell()) # 读取后文件指针到6位置 print(content) f.close() f = open('a.txt', 'rb') f.seek(-3..., 2) # 2代表结尾位置(只能是二进制文件才能加1或2),-3代表向左偏移3个字符 f.seek(-3, 1) # 1代表当前位置(只能是二进制文件才能加1或2),-3代表向左偏移3个字符 print

1.5K20

python教程(八)·文件操作

为了通用性,python默认用文本模式打开一个文件,从文件中读取到换行符,python会自动将其转换成一个\n字符;写入数据时候,python自动\n转换成对应系统换行符形式后再写入文件。...---- 注意:对文件读和写操作时,文件对象有一个指针用于指定当前文件操作位置,读文件时候,会使这个指针往后移动。...也就是说,我们读取文件内容时是按顺序读取,读取完后就没有了,因为指针已经移动到文件末尾。...不过我们可以使用文件对象seek方法,手动改变这个指针位置;写文件操作也是类似,除非使用seek方法,否则我们无法这次写入数据写入到上一次写入数据之前。...11 >>> f.seek(-5, 2) # 定位到文件尾部向前5个字节 6 >>> f.read(6) b'world' >>> f.tell() # 获取当前文件指针位置 11 >>> f.seek

48120

python对文件进行读写操作

先看原理,再动手写程序: python进行文件读写函数是open或file file_handler = open(filename,,mode) Table mode 模式 描述 r 以读方式打开文件...a+ 以读写方式打开文件,并把文件指针移到文件尾。 b 以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix文件是用二进制模式进行操作。...f.readlines() 读出所有行,也就是读出整个文件信息。 f.seek(offset[,where]) 把文件指针动到相对于whereoffset位置。...where为0表示文件开始处,这是默认值 ;1表示当前位置;2表示文件结尾。 f.tell() 获得文件指针位置。 f.truncate([size]) 截取文件,使文件大小为size。...f.writelines(list) 把list中字符串一行一行地写入文件,是连续写入文件,没有换行。

60330

文件指针位置

f = open('指针测试.txt','a+',encoding='utf-8') # 这里会直接创建文件,可查看a,w,r,以及分别加加号‘+’和加b区别 # tell() 显示文件指针 print...(f.tell()) # 更改文件指针位置 seek(偏移量,whence) # 偏移量是数字,距离whence字符数 # whence:0:文件开头 1:当前位置 2:文件结尾 seek(10,0...) # 可能只有rb或者rb+时候偏移量才能是负数,也就是倒着数,这里笔者没有具体测试 # f.seek(4,0) # print(f.read()) # f.seek(0,0) # f.write...,这串数字从第五,第六个位置打印后两位是一样 f.seek(6, 0) # seek 移动鼠标位置(位数)包含\r\n,读取时(位数)不包含...\r print(f.read(2)) # 本来是光标移动到开始0,打印光标后七个最后一个,和光标移动到第六个,打印后一个是一样 print('-'*10) # 第六个位置

1.3K40

结构体存入文件并且取出

C语言操作文件几个方法,特别要提一下是fseek这个方法 功 能  重定位流(数据流/文件)上文件内部位置指针   注意:不是定位文件指针,文件指针指向文件/流。...位置指针指向文件内部字节位置,随着文件读取会移动,文件指针如果不重新赋值将不会改变指向别的文件。...如果执行成功,stream指向以fromwhere(偏移起始位置:文件头0,当前位置1,文件尾2)为基准,偏移offset(指针偏移量)个字节位置。...  第三个参数origin设定从文件哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET   SEEK_SET: 文件开头   SEEK_CUR: 当前位置   ...简言之:   fseek(fp,100L,0);把fp指针动到离文件开头100字节处;   fseek(fp,100L,1);把fp指针动到离文件当前位置100字节处;   fseek(fp,

97960
领券