fseekfseek的用法

fseek  时间:2021-06-19  阅读:()

C语言中,fseek函数怎么控制移动的方向?怎么往前或往后,最好能有个例子。 谢谢!

fseek有三个参数,第1个是文件句柄,通过打开文件时得到;第2个就是移动的字节数,这个数可以是正的,就是向后(文件尾部)移动,也可以是负的,即向前(文件头部)移动;第3个参数指明从哪里移动,如果写SEEK_SET就是从文件头部移动多少字节,如果写SEEK_END则是从尾部开始移动,SEEK_CUR则是从当前位置移动。

比如 要将文件指针移动到文件开始的第24字节位置:fseek(fp,24,SEEK_SET); 移动到文件尾部向前50字节:fseek(fp,-50,SEEK_SET); 在当前位置移动8个字节(跳过8个字节数据):fseek(fp,8,SEEK_CUR); 在当前位置向前移动16个字节(准备重新读取数据):fseek(fp,-16,SEEK_CUR);

C语言fseek函数如何处理中文

中文文件要用TCHAR之类的多字节方法处理。

你的方法是把中文看成2进制一个字符一个字符的数据文件来处理,也是可以的,fseek工作完全正常, 问题是输出字符的显示,你可以显示每个字节的值,但不能显示成肉眼可识别的汉字。

putchar ( ch ); 可用于 ASCII字符。

你可以换成: printf("%02x ", 0xff & ch ); 可以显示单个字节的码值。

从输出的码值可以看出,程序没有问题,只是不能显示成肉眼可识别的汉字。

另外,如果是unicode中文文件,则文件头有不可见的文件类型区分码0xfe 0xff 或 0xff 0xfe 等等。

2个单个字节码,合成一个双字节码,有大端和小端文件问题,也许需要互相交换相邻2个字节,再显示成中文。

fseek的用法

fseek函数小案例: fseek函数介绍: fseek()?函数在打开的文件中定位。

该函数把文件指针从当前位置向前或向后移动到新的位置,新位置从文件头开始以字节数度量。

成功则返回?0;否则返回?-1。

注意,移动到?eof?之后的位置不会产生错误。

fseek函数的语法: fseek(file,offset,whence) 参数介绍: file?: ????必需。

规定要在其中定位的文件。

???? offset: ????必需。

规定新的位置(从文件头开始以字节数度量)。

???? whence?: ????可选。

可能的值: ????????seek_set?-?设定位置等于?offset?字节。

默认。

????????seek_cur?-?设定位置为当前位置加上?offset。

????????seek_end?-?设定位置为文件末尾加上?offset?(要移动到文件尾之前的位置,offset?必须是一个负值)。

RackNerd:美国便宜VPS,洛杉矶DC-02/纽约/芝加哥机房,4TB月流量套餐16.55美元/年

racknerd怎么样?racknerd美国便宜vps又开启促销模式了,机房优秀,有洛杉矶DC-02、纽约、芝加哥机房可选,最低配置4TB月流量套餐16.55美元/年,此外商家之前推出的最便宜的9.49美元/年套餐也补货上架,同时RackNerd美国AMD VPS套餐最低才14.18美元/年,是全网最便宜的AMD VPS套餐!RackNerd主要经营美国圣何塞、洛杉矶、达拉斯、芝加哥、亚特兰大、新...

CloudCone月付$48,MC机房可小时付费

CloudCone商家在前面的文章中也有多次介绍,他们家的VPS主机还是蛮有特点的,和我们熟悉的DO、Linode、VuLTR商家很相似可以采用小时时间计费,如果我们不满意且不需要可以删除机器,这样就不扣费,如果希望用的时候再开通。唯独比较吐槽的就是他们家的产品太过于单一,一来是只有云服务器,而且是机房就唯一的MC机房。CloudCone 这次四周年促销活动期间,商家有新增独立服务器业务。同样的C...

艾云年付125元圣何塞GTT,洛杉矶vps年付85元

艾云怎么样?艾云是一家去年年底成立的国人主机商家,商家主要销售基于KVM虚拟架构的VPS服务,机房目前有美国洛杉矶、圣何塞和英国伦敦,目前商家推出了一些年付特价套餐,性价比非常高,洛杉矶套餐低至85元每年,给500M带宽,可解奈飞,另外圣何塞也有特价机器;1核/1G/20G SSD/3T/2.5Gbps,有需要的朋友以入手。点击进入:艾云官方网站艾云vps促销套餐:KVM虚拟架构,自带20G的防御...

fseek为你推荐
win7中文语言包win7 64位中文系统、、怎么下载并使用 英文语言包bean是什么意思FServiceID是什么意思mergefieldWORD 邮件合并中----插入的域{MERGEFIELD "班级"},原始1201班想得到前连个字符怎么改域代码?ico监管为何央行叫停代币发行?比思论坛永久域名不知道为什么 比思论坛的网站打不开 怎么办呐webservice框架如何用webservice 的cxf框架broadcast播播……拼音averagesPoisson-Arrivals-See-Time-Averages是什么意思微信如何只发文字微信朋友圈如何只发文字,怎么发文字不要图全局钩子加载全局钩子是什么,每次进入股票软件都说加载全局钩子,是中病毒了吗
网游服务器租用 a2hosting mach5 贵州电信宽带测速 建站代码 网站卫士 腾讯实名认证中心 泉州移动 php空间购买 空间技术网 Updog google台湾 国内域名 lamp怎么读 ledlamp lamp兄弟连 徐州电信 免费个人网页 阿里云邮箱申请 hostease 更多