首页 > 系统相关 >Linux c fread/fseek 函数

Linux c fread/fseek 函数

时间:2024-06-09 19:29:44浏览次数:10  
标签:fp fseek stream int fread FILE Linux size

函数:fread
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);

参数说明:

  • 参数

    buffer

    指向要读取的数组中首个对象的指针

    size

    每个对象的大小(单位是字节)

    count

    要读取的对象个数

    stream

    输入流

函数:fseek
int fseek(FILE *stream, long int offset, int whence);

参数说明

  • stream:这是一个指向FILE对象的指针,表示要操作的文件流。
  • offset:表示从指定的位置开始移动的字节数。它是一个长整型值,正数表示向文件末尾方向移动,负数表示向文件开头方向移动,零表示不移动。
  • whence:这是一个整型值,用于指定从哪个位置开始计算偏移量。它可以是以下三个常量之一:
    • SEEK_SET:从文件开头开始计算偏移量(即文件的起始位置)。
    • SEEK_CUR:从当前位置开始计算偏移量(即stream指向的当前位置)。
    • SEEK_END:从文件末尾开始计算偏移量(即文件的结束位置)。

代码:

     FILE *fp = NULL;

    char str_prikey[65] = {0};

    fp = fopen("test", "r");

    if(!fp) {

        printf("open  file failed!\n");

        return -1;

    }

    int ret = fread(str, 1, sizeof(str), fp);

    if(ret != sizeof(str)) {

        printf("read failed!\n");

        fclose(fp);

        return -1;

    }

    fclose(fp);

标签:fp,fseek,stream,int,fread,FILE,Linux,size
From: https://blog.csdn.net/qq_30531921/article/details/139476738

相关文章

  • C++系统编程篇——linux编辑器vim
    Linux编辑器vim(1)vim常用模式命令/正常模式控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insertmode下,或者到lastlinemode插入模式只有在Insertmode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。底行模式......
  • 11 深入理解Linux文件系统与日志分析
    目录11.1深入理解Linux文件系统    11.1.1inode与block详解        1.inode和block概述        2.inode的内容        3.inode的号码        4.inode的大小    11.1.2硬链接与......
  • 服务器linux系统 Debian 更新安全补丁命令
    服务器linux系统Debian更新安全补丁命令服务器换成Debian系统了,之前用的是centos系统,不过后续不支持更新还是什么,所以换成Debian系统,拿到系统首先是update更新了,把安全补丁打到最新。收集了一些命令,自用收藏。 Debian使用来自存储库的deb软件包来管理Debian系统上软件......
  • Linux之awk
    一、awk介绍1、awk工作原理   逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。   sed命令常用于一整行的处理,而awk比较倾向于将一行分成多个“字段”然后再进行处理。awk信息的读入也是逐行读......
  • 嵌入式Linux中驱动程序的基本框架
    在“嵌入式Linux中内核模块的基本框架”一文中,已经构建好了内核模块的基本框架结构,现在在该框架的基础上进一步扩展,就可以形成Linux下的字符型设备驱动基本框架,下面就详细进行讨论。在Linux系统中,设备驱动共分为三种类型,即字符型、块型和网络型。字符型设备以字节为最小操作单位,......
  • Linux会像Windows一样把64个CPU核心分成一组吗
    Linux与Windows在处理器管理上存在一些差异,但两者都不会直接将64个CPU核心简单地分成一组。不过,它们都会使用各种策略和技术来优化处理器的使用,这包括如何分配进程到不同的CPU核心。Linux作为一种开源的操作系统,其内核可以运行在多种不同的硬件架构上,包括x86、ARM、PowerPC等......
  • Linux配置路由功能及添加静态路由
    配置路由功能Linux作为路由器,Linux本身就具备路由功能,开启方式如下:临时开启:echo"1">/proc/sys/net/ipv4/ip_forward永久开启:vim/etc/sysctl.confnet.ipv4.ip_forward=1#配置生效sysctl-p开启了路由功能之后的Linux服务器就相当于一个Router,Linux服务器的路......
  • [转帖]Linux Kernel 6.6 确认成为 LTS 版本
    https://www.kernel.org/category/releases.html  GregKroah-Hartman已经宣布LinuxKernel6.6版本为长期支持(LTS)版本;支持期限到2026年12月。LinuxKernel6.6于10月29日正式发布,是一次包含了新功能、硬件支持、安全增强和性能改进的重大更新。具......
  • 探索Linux网络利器:netstat命令
    探索Linux网络利器:netstat命令在Linux系统管理中,了解系统的网络状态是至关重要的。而netstat命令就是这样一个强大的工具,它可以帮助我们查看网络连接、路由表、接口统计等与网络相关的信息。下面,我们将详细探讨如何使用netstat命令以及它的各种选项。1.netstat命令简介n......
  • 在Linux中,什么是 CLI?
    CLI是"CommandLineInterface"的缩写,中文意思是命令行界面。在Linux系统中,CLI是一种允许用户通过文本命令与计算机操作系统交互的方式。用户通过输入特定的命令来执行各种操作,比如文件管理、程序运行、系统配置等。CLI的主要特点包括:文本基础:CLI完全基于文本,用户需要......