文件和流操作相关基础函数

2023-10-29

1. wsprintf(LPTSTR lpOut,  LPCTSTR lpFmt, ….// 其他可选参数 );wsprintf函数能够将一组字符序列按lpFmt参数指定的格式转换,然后保存在lpOut参数指定的字符缓冲区中等待输出。如果要用wprintf输出Unicode的字符串,需要在wsprintf的第二个参数前面加L。

2.MoveFile 方法描述将一个或多个文件从一个地方移动到另一个地方。

BOOL MoveFile(

LPCTSTR lpExistingFileName, // file name

LPCTSTR lpNewFileName // new file name

);

3.fgets函数char *fgets(char *str, int n, FILE *stream) 从指定的流 stream 读取一行,并把它存储在 str 所指向的字符串内。当读取 (n-1) 个字符时,或者读取到换行符时,或者到达文件末尾时,它会停止,具体视情况而定。

  • str -- 这是指向一个字符数组的指针,该数组存储了要读取的字符串。
  • n -- 这是要读取的最大字符数(包括最后的空字符)。通常是使用以 str 传递的数组长度。
  • stream -- 这是指向 FILE 对象的指针,该 FILE 对象标识了要从中读取字符的流。

如果成功,该函数返回相同的 str 参数。如果到达文件末尾或者没有读取到任何字符,str 的内容保持不变,并返回一个空指针。如果发生错误,返回一个空指针。
实例:if( fgets (str, 60, fp)!=NULL ) 

4.CopyFile函数,文件拷贝函数.其基本结构如下:

copyfile(  

lpcstr  lpexistingfilename, //源文件路径  

lpcstr  lpnewfilename, //新文件路径  

bool   bfailifexists//为true的话,如果新文件已存在,则返回false;如果为false的話,如果新文件已经存在,会将原來的覆盖。

5.C 库函数 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) 从给定流 stream 读取数据到 ptr 所指向的数组中。

  • ptr -- 这是指向带有最小尺寸 size*nmemb 字节的内存块的指针。
  • size -- 这是要读取的每个元素的大小,以字节为单位。
  • nmemb -- 这是元素的个数,每个元素的大小为 size 字节。
  • stream -- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输入流。

成功读取的元素总数会以 size_t 对象返回,size_t 对象是一个整型数据类型。如果总数与 nmemb 参数不同,则可能发生了一个错误或者到达了文件末尾。 

实例:fread(buffer, strlen(c)+1, 1, fp);

6.access确定文件或文件夹的访问权限。即,检查某个文件的存取方式,比如说是只读方式、只写方式等。如果指定的存取方式有效,则函数返回0,否则函数返回-1。

7.fp=fopen("file","ab");

"w","w+","wb","wb+"方式可以创建新文件,其他方式不可

"a","a+","ab","ab+"为打开已存在的文件,文件使用方式为添加方式,不会覆盖原来的file文件的信息

8.使用write写入一个字符s,但是此时并没有真正的写入,而是还存在与内存中。需要执行f.close()以后才可以。

9.函数rename()用于重命名文件、改变文件路径或更改目录名称,其原型为
int rename(char * oldname, char * newname);【参数】oldname为旧文件名,newname为新文件名。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文件和流操作相关基础函数 的相关文章

随机推荐

  • 区块链七大应用场景

    一 应用场景 信息共享 这应该是区块链最简单的应用场景 就是信息互通有无 1 传统的信息共享的痛点 要么是统一由一个中心进行信息发布和分发 要么是彼此之间定时批量对账 典型的每天一次 对于有时效性要求的信息共享 难以达到实时共享 信息共享的
  • AndroidStudio apk安装失败总结

    失败 1 INSTALL FAILED DUPLICATE PERMISSION 1 1 具体信息 1 2 原因分析 1 3 解决方法 2 INSTALL FAILED USER RESTRICTED 2 1 具体信息 2 2 原因分析 3
  • USB3.2-Physical Layer---Link Initialization and Training

    这里写目录标题 Training sequences gen1 training sequence rule gen2 training sequence rule gen2 block Alignment Lane Polarity In
  • 使用for循环输出1-10之间的整数

    for i in range 1 11 print i
  • BS架构和CS架构的区别

    介绍 BS Browser Server 浏览器 服务器模式 web应用 可以实现跨平台 客户端零维护 但是个性化能力低 响应速度较慢 CS Client Server 客户端 服务器模式 桌面级应用 响应速度快 安全性强 个性化能力强 响
  • CSP 202305-1 重复局面

    题目背景 国际象棋在对局时 同一局面连续或间断出现3次或3次以上 可由任意一方提出和棋 问题描述 国际象棋每一个局面可以用大小为 8 8 的字符数组来表示 其中每一位对应棋盘上的一个格子 六种棋子王 后 车 象 马 兵分别用字母 k q r
  • 杭电ACM2005题(第几天?)------C语言

    第几天 Time Limit 2000 1000 MS Java Others Memory Limit 65536 32768 K Java Others Total Submission s 127309 Accepted Submis
  • 职能管理,最关键的是找到衡量价值的指标

    最近一位同事过来和我讨论职能管理的经验 说实话 我是不敢妄谈经验的 自己也没有取得如何的成就 盲目的建议 会出现相反的效果 不过我们的交流还是很有收获的 因为我们发现了很多共同的认知 并且这些认知在小范围内还是得到认可的 第一 定位职能的价
  • c语言0加到10的结果,如何编写一个C语言程序,让计算机自动出四则运算计算题,要求自动出0-10之间的四则运算题,并批改结果?...

    优质解答 少年 写好了 给你参考一下 还可以更复杂 include include include define N 10 int Test int num 0 int answer 0 int result 0 int m 0 int n
  • 【状态估计】卡尔曼滤波器、扩展卡尔曼滤波器、双卡尔曼滤波器和平方根卡尔曼滤波器研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 本文包括 1 标准卡尔曼滤波器 2 扩展卡
  • 操作系统基础

    进程间的通信的几种方式 匿名管道 pipe 管道是一种半双工的通信方式 数据只能单向流动 而且只能在具有亲缘关系的进程间使用 进程的亲缘关系通常是指父子进程关系 有名管道通信 半双工的通信方式 但是它允许无亲缘关系进程间的通信 消息队列通信
  • Window根据端口号杀进程

    Window根据端口号杀进程 一 打开cmd命令窗口 输入命令 根据端口号查找对应的进程号 netstat ano 列出所有进程 例 杀死占用端口1099的进程 1 netstat ano findstr 1099 2 列出端口号为1099
  • 联合体的特点及其大小的计算

    上篇博客 笔者详细的介绍了联合的的使用方法 所以 笔者在这篇文章打算进行 联合体的特点及其大小的计算的讲述 联合体的特点 联合体的成员是共用一块内存空间的 这样一个联合体变量的大小 至少是最大的成员的大小 因为联合体至少得有能力保存最大的那
  • QT框架总结

    一 QT介绍 1 什么是QT 跨平台C 图形用户界面应用程序开发框架 1 跨平台 支持各种的操作系统 windows Linux MAC 2 编程语言 C 面向对象编程 类 3 应用程序开发框架 图形用户界面 GUI应用程序 非GUI的应用
  • oracle nvl sign,oracle decode函数和 sign函数

    流程控制函数 DECODE decode 函数简介 主要作用 将查询结果翻译成其他值 即以其他形式表现出来 以下举例说明 使用方法 Select decode columnname 值1 翻译值1 值2 翻译值2 值n 翻译值n 缺省值 F
  • 分享一个基于vue的环形菜单组件

    vue quick menu是一个应用于移动端的快速导航组件 它拥有炫酷的展开和收起时的动画效果 它支持自定义菜单的显示位置 菜单的数量 颜色等属性 demo 安装 通过NPM安装 npm install vue quick menu sa
  • 解决不能启动redhat 9的图形界面的办法

    故障现象 我才装了几天的linux就进不去linux的图形界面了 我用的是redhat9 希望大虾们帮帮我 在这里说声谢谢了 我把出错的提示给出来 我可以进去命令行界面 当我打入startx命令的时候 画面就变得很花 我以前是可以进的 然后
  • 出学校干了 5 年外包,已经废了

    如果不是女朋友和我提分手 我估计现在还没醒悟 本科大专 17年通过校招进入某软件公司做测试 干了接近5年的功能 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了五年的点点点 每天的重复操作
  • KiCad 5 版本体验记录

    文章目录 KiCad 5 0版本 改动内容记录 BUG记录 KiCad 5 0版本 KiCad在今年7月份的时候更新了5 0版本 作为大版本的更新 相比上一个版本4 0 7来说还是有蛮多变动的 具体的变化可以自己体验或是查看官方的更新说明
  • 文件和流操作相关基础函数

    1 wsprintf LPTSTR lpOut LPCTSTR lpFmt 其他可选参数 wsprintf函数能够将一组字符序列按lpFmt参数指定的格式转换 然后保存在lpOut参数指定的字符缓冲区中等待输出 如果要用wprintf输出U