700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > fopen fread fseek ftell fclose fileno的用法

fopen fread fseek ftell fclose fileno的用法

时间:2018-05-28 05:33:42

相关推荐

fopen fread fseek ftell fclose fileno的用法

fopen,fread,fseek,ftell,fclose,fileno的使用介绍以及参数说明

fopen

打开一个文件,可以指定打开模式(如只读、只写、读写等)和文件名。函数原型:FILE *fopen(const char *filename, const charmode),返回类型为FILE类型的指针,表示打开的文件。

filename:要打开的文件名,可以包含路径信息,路径分隔符为系统相关的字符。

mode:打开模式,是一个字符串,用于指定打开文件的方式,有以下几种:

其中,“r” 表示只读,“w” 表示只写,“a” 表示追加。“+” 表示可读可写,“b” 表示二进制模式,可以与其他模式组合使用。这些模式可以根据实际需要进行组合,例如 “rb” 表示以只读的二进制模式打开文件,“w+” 表示以读写的方式打开文件,如果文件不存在则创建文件。

fread

从文件中读取数据。函数原型:size_t fread(void *ptr, size_t size, size_t count, FILE *stream),返回值是成功读取的元素数目。

ptr:指向要读取数据的缓冲区,即读取到的数据将被存放到该缓冲区中。

size:要读取的每个数据块的字节数。比如,如果要读取一个 int 类型的数据,那么 size 应该是 sizeof(int),通常使用 sizeof 关键字来获取数据类型的字节数。

count:要读取的数据块的数量。

stream:指向文件对象的指针。

fseek

定位文件指针的位置,可以用来移动文件指针到文件中的任意位置。函数原型:int fseek(FILE *stream, long offset, int origin),返回值为0表示成功。

stream:为指向文件的指针

offset:表示需要移动的偏移量。可以为正数、负数或零。如果需要将文件指针移动到文件的结尾,可以将offset设置为0,origin设置为SEEK_END。如果需要将文件指针移动到文件的开头,可以将offset设置为0,origin设置为SEEK_SET。

origin:表示偏移量的起始位置。可以使用以下三个值之一

ftell

获取当前文件指针的位置。函数原型:long ftell(FILE *stream),返回值为当前文件指针的偏移量。

stream:为指向文件的指针

fclose

关闭打开的文件。函数原型:int fclose(FILE *stream),返回值为0表示成功关闭。

stream:为指向文件的指针

fileno

获取文件流所对应的文件描述符。函数原型:int fileno(FILE *stream),返回值为文件描述符。

stream:为指向文件的指针

_chsize_s

是一个 Windows 平台特有的函数,用于调整文件的大小。函数原型:errno_t _chsize_s(int fd, __int64 size),返回值为0表示成功改变文件大小。

fd:文件描述符,可以通过 _fileno 函数获取。

size:调整后的文件大小,以字节为单位。

例如,以下代码调整文件大小为 1024 字节

#include <stdio.h>#include <io.h>int main() {int fd = _fileno(fopen("test.txt", "wb")); // 以二进制写方式打开文件__int64 size = 1024; // 调整后的文件大小为 1024 字节errno_t result = _chsize_s(fd, size);if (result != 0) {printf("Failed to change file size.\n");}fclose(fd);return 0;}

注意,_chsize_s 函数只能用于二进制文件,对于文本文件调用此函数会产生未定义行为。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。