C语言样式的文件操作函数
使用C语言样式的文件操作函数,需要包含stdio.h头文件。
1.打开文件的函数:
//oflag的取值为“w”或“r”,分别表示以写或读的方式打开
FILE* fd = fopen(filename.c_str(), oflag);
2.写文件的函数原型:
size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream );
其中buffer是需要向文件中写入的内容在内存中的首地址指针,size是待写入内容的每个元素的字节数,count是要写多少个元素,stream 是文件指针,示例如下:
FILE * fp;
fp = fopen("filename", "wb")
int a[] = {,,};
fwrite(a, sizeof(int), , fp);
fclose(fp);
3.读文件函数的原型与写文件非常类似:
size_t fread(const void* buffer, size_t size, size_t count, FILE* stream );
4.获取文件信息的函数:
struct stat statbuf;
fstat(fileno(fp), &statbuf);
得到的statbuf便是包含文件信息的结构体,如statbuf.st_size是获取文件的大小
5.移动文件位置指针函数原型:
int fseek(FILE *fp,long offset,int origin);
第一个参数file指针;第二个参数移动的偏移量;第三个参数从那里开始移动,分别用3个宏 SEEK_SET (0)表示文件开头, SEEK_CUR (1)表示文件当前位置, SEEK_END(2)表示文件结尾 (不推荐用数字,最好用宏)
6.不要忘了关闭文件哦:
fclose(fp);
C语言样式的文件操作函数的更多相关文章
- C语言文件操作函数大全(超详细)
C语言文件操作函数大全(超详细) 作者: 字体:[增加 减小] 类型:转载 本篇文章是对C语言中的文件操作函数进行了详细的总结分析,需要的朋友参考下 fopen(打开文件)相关函数 open,fc ...
- Linux C 文件操作函数(~上善止水~)
翻翻笔记,整理一下 C 语言中的文件操作函数 ~~~~~~,多注意细节,maybe 细节决定成败~ 1. fopen /* fopen(打开文件) * * 相关函数 open,fclose * * 表 ...
- C语言文件操作函数
C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * str ...
- 总结文件操作函数-文件夹(三)-C语言
获取.改变当前文件夹: 原型为: #include <unistd.h> //头文件 char *getcwd(char *buf, size_t size); //获取当前文件夹.相 ...
- 总结文件操作函数(一)-C语言
在进程一開始执行,就自己主动打开了三个相应设备的文件.它们是标准输入.输出.错误流.分别用全局文件指针stdin.stdout.stderr表示,相应的文件描写叙述符为0.1.2:stdin具有可读属 ...
- 总结文件操作函数(二)-C语言
格式化读写: #include <stdio.h> int printf(const char *format, ...); //相当于fprintf( ...
- Unix/Linux环境C编程入门教程(41) C语言库函数的文件操作详解
上一篇博客我们讲解了如何使用Linux提供的文件操作函数,本文主要讲解使用C语言提供的文件操作的库函数. 1.函数介绍 fopen(打开文件) 相关函数 open,fclose 表头文件 #in ...
- Unix/Linux环境C编程新手教程(41) C语言库函数的文件操作具体解释
上一篇博客我们解说了怎样使用Linux提供的文件操作函数,本文主要解说使用C语言提供的文件操作的库函数. 1.函数介绍 fopen(打开文件) 相关函数 open,fclose 表头文件 #in ...
- 【阅读笔记】《C程序员 从校园到职场》第六章 常用文件操作函数 (Part 1)
参考链接:https://blog.csdn.net/zhouzhaoxiong1227/article/details/24926023 让你提前认识软件开发(18):C语言中常用的文件操作函数总结 ...
随机推荐
- Java中的4种代码块
一.普通代码块 直接在一个方法中出现的{}就称为普通代码块,例子程序如下: public class CodeDemo01{ public static void main(String[] args ...
- 十分钟学会mysql数据库操作
Part1:写在最前 MySQL安装的方式有三种: ①rpm包安装 ②二进制包安装 ③源码安装 这里我们推荐二进制包安装,无论从安装速度还是用于生产库安装环境来说,都是没问题的.现在生产库一般采用My ...
- VC++6.0在Win7以上系统上Open或Add to Project files崩溃问题 解决新办法
崩溃原因是和office高版本冲突,比如我64位win7装了64位office2013及visio就遇到了这个问题(我很纳闷,记得重装系统前装的是32位office2013及visio就未曾遇到该问题 ...
- 简单的计算最值的MapReduce程序
import java.io.IOException;import java.util.StringTokenizer;import java.util.*;import org.apache.had ...
- Spring中处理Post方法中文乱码
在Web.xml中配置: <!-- 注册Spring提供的处理Post请求的乱码问题 --> <filter> <filter-name>CharacterEnco ...
- Java精确计算小数
Java在计算浮点数的时候,由于二进制无法精确表示0.1的值(就好比十进制无法精确表示1/3一样),所以一般会对小数格式化处理. 但是如果涉及到金钱的项目,一点点误差都不能有,必须使用精确运算的时候, ...
- 关于js执行顺序
http://www.cnblogs.com/sanshi/archive/2011/02/28/1967367.html http://mtnt2008.iteye.com/blog/701981 ...
- [bzoj1452][JSOI2009]Count(树状数组)
1452: [JSOI2009]Count Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 2057 Solved: 1216[Submit][Stat ...
- js继承之call,apply和prototype随谈
在js中,call,apply和prototype都可以实现对象的继承,下面我们看一个例子: function FatherObj1() { this.sayhello = "I am jo ...
- Nginx模块之————RTMP模块在Ubuntu上以串流直播HLS视频
Nginx的安装在Ubuntu上以串流直播HLS视频 https://www.vultr.com/docs/setup-nginx-on-ubuntu-to-stream-live-hls-video