首页 > 其他分享 >C-随机访问

C-随机访问

时间:2023-05-03 23:22:09浏览次数:38  
标签:file -- 位置 访问 int 随机 FILE SEEK

随机访问

int fseek(FILE *stream, long int offset, int whence)

  • stream -- 指向 FILE 对象的指针, 该 FILE 对象标识了流.
  • offset -- 这是相对 whence 的偏移量, 以字节为单位. 若为负则向前移.
  • whence -- 这是表示开始添加偏移 offset 的位置.
    • SEEK_SET -- 文件开头
    • SEEK_CUR -- 文件指针当前位置
    • SEEK_END -- 文件末尾
  • 如果成功, 返回0, 否则返回非零值.
FILE* file = fopen("test.txt", "r");
if(file != NULL)
{
    fseek(file, 2, SEEK_SET);
    putchar(getc(file));
    fclose(file);
}

当前位置

long int ftell(FILE *stream)

该函数返回位置标识符的当前值. 如果发生错误, 则返回 -1L, 全局变量 errno 被设置为一个正值.

FILE* file = fopen("test.txt", "r");
if(file != NULL)
{
    int len;
    fseek(file, 0, SEEK_END);
    len = ftell(file);
    fclose(file);
    printf("test.txt 的总大小 = %d 字节\n", len);
}

设定位置

FILE* file = fopen("test.txt", "r");
if(file != NULL)
{
    fpos_t pos;  // 使用fpos_t存储位置
    fgetpos(file, &pos);  // 获取位置
    fseek(file, -2, SEEK_END);  // 移动当前位置
    fsetpos(file, &pos);  // 设定位置
    printf("%ld", ftell(file));
    fclose(file);
}

标签:file,--,位置,访问,int,随机,FILE,SEEK
From: https://www.cnblogs.com/khrushchefox/p/17369895.html

相关文章

  • 防火墙-----虚拟系统之间互相访问
     虚拟系统A配置默认路由访问根系统,根系统配置静态路由访问B系统并在B系统里配置安全策略untrust(根系统vif0 )--->trust(vif2--vsysB)     ......
  • 随机造数据的技巧总结
    以下是一个简单的使用C++11新特性生成随机数数据的程序示例:#include<iostream>#include<random>//引入随机数生成器的头文件usingnamespacestd;intmain(){//创建C++11随机数生成器mt19937_64rng(std::random_device{}());//使用随机数生成器创......
  • 机器学习算法 随机森林学习 之决策树
    随机森林是基于集体智慧的一个机器学习算法,也是目前最好的机器学习算法之一。随机森林实际是一堆决策树的组合(正如其名,树多了就是森林了)。在用于分类一个新变量时,相关的检测数据提交给构建好的每个分类树。每个树给出一个分类结果,最终选择被最多的分类树支持的分类结果。回归则是不......
  • 利用Linux系统生成随机密码的8种方法
    Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它。例如,你可以通过数十种方法来生成随机密码。本文将介绍生成随机密码的十种方法。1.使用SHA算法来加密日期,并输出结果的前10个字符:[root@kafka60shell]#date+%s|sha256sum|base64|head-c10......
  • 港股股票接口访问的问题
    18年做了一个小程序“盯盘帮手”,就是监控价格提醒,结果腾讯审核不让过,说是证券业务,无语!。最近发现又可以通过了,于是捡起来继续完善。一个大的改进,想增加港股的支持。结果发现,收到的信息居然晚了15分钟。这是我用的腾讯接口的数据:v_hk00700=\"100~腾讯控股~00700~351.600~344.400~35......
  • C#访问新浪股票接口失效的处理
    新浪接口很好用,但后来一直就不能用了,比如http://hq.sinajs.cn?list=sh601003返回Forbidden找了一下,发现腾讯的股票接口和新浪的很接近,能用,就直接换腾讯了。今天因为港股数据的问题,还是想试试新浪接口,找了一下文章,发现问题是新浪需要一个header新浪股票接口失效解决方法,2022年访问......
  • 访问控制列表-ACL(access control list)
    访问控制列表的包含内容应用于路由器接口的指令列表,用于指定哪些数据包可以接收转发,哪些数据包需要被拒绝读取第三层和第四层头部种的信息(IP头部与TCP/UDP头部)根据预先定义好的规则对包进行过滤访问控制列表的种类基本访问控制列表(2000-2999)高级访问控制列表(3000-3999)适配二层的访......
  • c#-随机数组
    publicstaticint[]GenerateRandowArray(intmaxSize,intmaxValue){Randomrd=newRandom();int[]arr=newint[(int)((maxSize+1)*rd.NextDouble())];for(inti=0;i<arr.Length;i++){arr[i]=(in......
  • 如何通过 API 查看 cnblogs 博客访问量和博客积分与排名 All In One
    如何通过API查看cnblogs博客访问量和博客排名AllInOne开启配置https://i.cnblogs.com/preference博客访问量APIhttps://www.cnblogs.com/`username`/ajax/blogStats博客排名APIhttps://www.cnblogs.com/`username`/ajax/sidecolumn.aspxdemos博客访问量......
  • Golang程序无法在Termux访问网络(DNS解析问题)
    原文:https://github.com/termux/termux-app/issues/869#issuecomment-433985523pkginstallprootresolv-confproot-b$PREFIX/etc/resolv.conf:/etc/resolv.conf./Go可执行程序或者交叉编译Android版解决此问题:https://www.cnblogs.com/jing332/p/16671425.html......