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 : 文件偏 ...
随机推荐
- 基于Unity实现油画风格的着色器
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' Shader "Cust ...
- 使用net Manager工具远程连接Oracle配置监听
一.在服务端配置Oracle端口 win + R 输入netca 弹出如下窗口后 选择监听程序配置,点击下一步: 二.配置端口号后使用Telnet工具调试端口是否连通 在命令行输入telnet 服务器 ...
- 安装superset遇到的坑
实验环境:ubuntu16.04 python环境: 3.6.7 安装参考:https://superset.incubator.apache.org/installation.html 特别提醒: ...
- Linux显示行号设置
linux显示行号设置 第一步,打开vim vi ~/.vimrc 第二步,在该文件中加入一行,命令如下: set nu # 显示行号 set nonu # 不显示行号 微信公众号:喵哥解说 公众号介 ...
- vc程序设计-----位图
// resource_study.cpp : 定义应用程序的入口点. // #include "framework.h" #include "resource_stud ...
- .NET编程5月小结 - Blazor, Unity, Dependency Injection
本文是我在5月份看到的一些有趣的内容的集合.在这里你可以找到许多有关Blazor.ASPNET Core的学习资源和示例项目,有关在Unity中使用Zenject进行单元测试的博客,有关Unity项目 ...
- Rocket - debug - Example: Write Memory
https://mp.weixin.qq.com/s/on1LugO9fTFJstMes3T2Xg 介绍riscv-debug的使用实例:使用三种方法写内存. 1. Using System Bus ...
- Java实现 LeetCode 713 乘积小于K的子数组(子集数量+双指针)
713. 乘积小于K的子数组 给定一个正整数数组 nums. 找出该数组内乘积小于 k 的连续的子数组的个数. 示例 1: 输入: nums = [10,5,2,6], k = 100 输出: 8 解 ...
- Java实现 LeetCode 345 反转字符串中的元音字母
345. 反转字符串中的元音字母 编写一个函数,以字符串作为输入,反转该字符串中的元音字母. 示例 1: 输入: "hello" 输出: "holle" 示例 ...
- PAT 人口普查
某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的,假设已知镇上没有超过 200 岁的老人,而今天是 2014 ...