C/C++以及Linux文件操作备忘录
C文件操作
#include<stdio.h>
stdin, stdout, stderr
文件开关
/*
** r/rb 只读。 不存在返回NULL,打开成功不会清空文件
** w/wb 只写。 不存在创建, 打开成功后清空文件
** a/ab 只写。 不存在创建, 打开成功不会清空文件
** r+/rb+ 读写兼备。 不存在返回NULL,打开成功不会清空文件
** w+/wb+ 读写兼备。 不存在创建, 打开成功后清空文件
** a+/ab+ 允许读取。 不存在创建, 打开成功不会清空文件。
*/
FILE* fopen(char* fname, char* mode);
int fclose(FILE* fp);
文件读写
- 单字符
// @brief 返回读取的单个字符ASCII码
int fgetc(FILE* fp);
// @brief 向文件中写入一个字符。
// @return int 失败 -1, 成功写入的ASCII码值
int fputc(char ch, FILE* fp);
- 单行
// @brief 最多count-1个字符,第count个字符是'\0'.读取过程遇到'\n'会提前结束
// @ return buf所指向的空间地址
char* fgets(char* buff, int count, FILE* fp);
// @brief 将ch参数'\0'之前的部分写入文件
// @return 错误EOF,成功0
int fputs(const char* ch, FILE* fp);
// @brief 二进制形式读取
// @param buff 空间存储地址
// @param size 每个数据项的字节数
// @param count 读取的数据项个数
// @param fp 文件指针
// @return 读取的数据字节数
size_t fread(void* buff, size_t size, size_t count, FILE* fp);
// @brief 二进制形式写入
size_t fwrite(const void* buff, size_t size, size_t count, FILE* fp);
- 文件随机读写
// @brief 获取文件指针当前位置
// @return 文件位置指针距离文件开头的字节数。不存在或有错误返回-1L
long ftell(FILE* fp);
// @brief 以origin为基准偏移offset
// @param origin SEEK_SET 0 文件从开头偏移
// SEEK_CUR 1
// SEEK_END 2
// @return 成功0 错误-1
int fseek(FILE* fp, long offset, int origin);
// @brief 指针移动到文件开头
void rewind(FILE* fp);
C++文件操作
c++三种IO:iostream,fstream,sstream
#include <fstream>
fstream ofstream ifstream
Linux文件操作
打开
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int open(const char* pathname, int flags);
int open(const char* pathname, int flags, mode_t mode);
flags: O_RDONLY O_WRONLY O_RDWR
mode:创建文件时使用
C/C++以及Linux文件操作备忘录的更多相关文章
- Linux 文件操作接口
目录 Linux 文件操作接口 C语言文件操作接口 C语言文件描述 fopen() r模式打开文件 w模式打开文件 a模式打开文件 其他模式类似 fclose() fwrite() fread() 系 ...
- Linux文件操作的主要接口API及相关细节
操作系统API: 1.API是一些函数,这些函数是由linux系统提供支持的,由应用层程序来使用,应用层程序通过调用API来调用操作系统中的各种功能,来干活 文件操作的一般步骤: 1.在linux系统 ...
- Linux 文件操作监控inotify功能及实现原理【转】
转自:http://blog.chinaunix.net/uid-26585427-id-5012973.html 1. inotify主要功能 它是一个内核用于通知用户空间程序文件系统变化的机制. ...
- Linux 文件操作总结
http://blog.163.com/he_junwei/blog/static/19793764620152592737741/ ioctl?? lseek?? 文件是linux中的一个重要概念. ...
- Linux文件操作学习总结【转载】
本文转载自: http://blog.csdn.net/xiaoweibeibei/article/details/6556951 文件类型:普通文件(文本文件,二进制文件).目录文件.链接文件.设备 ...
- Linux 文件操作——系统调用和标准I/O库
一.什么是文件 在讲述文件操作之前,我们首先要知道什么是文件.看到这个问题你可能会感觉到可笑,因为对于用过计算机的人来说,文件是最简单不过的概念了,例如一个文本是一个文件,一个work文档是一个文件等 ...
- linux 文件操作与目录操作
文件操作 使用命令 命令格式: 命令 [选项] [参数] [] 表示可选的 示例: ls -a /etc 常识命令 ls:查看指定目录的内容,不指定目录时查看当前工作目录 选项 说明 -a 显示所有文 ...
- Linux文件操作常用命令整理
收集.整理日常系统管理或维护当中的,常用到的一些关于文件操作的命令或需求,后续会慢慢补充.完善! 查看.生成指定目录的目录树结构? [root@DB-Server ~]#tree #当前目录 ...
- linux 文件操作库函数
fopen :打开文件 fread :读文件 fwrite : 写文件 fgetc : 读字符 fputc : 写字符 fscanf : 格式化读 fprintf : 格式化写 fseek : 文件偏 ...
随机推荐
- pyinstaller打包pyqt5,从入坑到填坑,详解
以上省略pyinstaller安装步骤,直入主题.先分享我的心路历程. 1.pyinstaller -F -i 1.ico UI_Main.py (先在CMD中 cd到 py文件对应的路径) 第一步打 ...
- Rocket - diplomacy - IdRange
https://mp.weixin.qq.com/s/qqL2XWqAhVcnGSxs6kxhLg 介绍IdRange的实现. 1. 基本定义 A non-empty half- ...
- Ondemand和Interactive gonernor工作逻辑简述
ondemand 简述: 1.采样时间:sampling_rate,单位us 2.cpu usage是仅统计最新1us的一个smaple周期,以%体现cpu busy程度. 3.一般情况下,next频 ...
- ASP.NET实现一个在线音乐统计网站(歌手,音乐,角色……增删改查)
这里更多的是当作随身笔记使用,记录一下学到的知识,以便淡忘的时候能快速回顾 当前步骤是该项目的完结部分(前面由于没有时间整理了,直接发一个大完结吧) 第一部分 第二部分 源码已上传GitHub:这里有 ...
- Java实现 LeetCode 461 汉明距离
461. 汉明距离 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目. 给出两个整数 x 和 y,计算它们之间的汉明距离. 注意: 0 ≤ x, y < 231. 示例: 输入 ...
- Java实现 LeetCode 310 最小高度树
310. 最小高度树 对于一个具有树特征的无向图,我们可选择任何一个节点作为根.图因此可以成为树,在所有可能的树中,具有最小高度的树被称为最小高度树.给出这样的一个图,写出一个函数找到所有的最小高度树 ...
- 第七届蓝桥杯JavaC组省赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.有奖竞猜 题目描述 小明很喜欢猜谜语. 最近,他被邀请参加了X星球的猜谜活动. 每位选手开始的时候都被发给777个电子币. 规则是:猜 ...
- Java实现奇偶数排序
1 问题描述 给定一个整数数组,请调整 数组中数的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分.要求时间复杂度为O(n). 2 解决方案 2.1 一头一尾指针往中间扫描法 pack ...
- 一文带你快速搞懂动态字符串SDS,面试不再懵逼
目录 redis源码分析系列文章 前言 API使用 embstr和raw的区别 SDSHdr的定义 SDS具体逻辑图 SDS的优势 更快速的获取字符串长度 数据安全,不会截断 SDS关键代码分析 获取 ...
- GatewayWorker与ThinkPHP等框架结合
使用GatewayWorker时开发者最关心的是如何与现有mvc框架(ThinkPHP Yii laravel等)整合,以下是官方推荐的整合方式. 见示意图: ## 总体原则 现有mvc框架项目与Ga ...