文件IO操作
来源:互联网 发布:网络融资平台靠谱吗 编辑:程序博客网 时间:2024/06/08 06:35
在对一个文件或者设备进行读写之前,都需要先打开,以获得该文件或者设备的操作指针,也就是文件描述符。有了文件描述符,后续就可以进行读取,修改操作了。
#include <iostream>#include <string>#include <fcntl.h>#include <unistd.h>#include <stdio.h>using namespace std;#define BUF_SIZE 1024#define MAX_FILE_LEN 256int main(int argc, const char * argv[]) { char buffer[BUF_SIZE+1] = {0}; if (argc < 2) { printf("usage: %s <file>\n", argv[0]); return 1; } //打开源文件 int in_fd = open(argv[1], O_RDONLY, 0777); if (-1 == in_fd) { printf("open %s failed\n", argv[1]); return 1; } //打开目标文件 char destfile[MAX_FILE_LEN] = {0}; snprintf(destfile, MAX_FILE_LEN, "%s_bak.txt", argv[1]); printf("write to file %s\n", destfile); int out_fd = open(argv[1], O_WRONLY|O_CREAT, 0777); if (-1 == out_fd) { printf("open %s failed\n", destfile); return 1; } //读源文件 size_t rd_num; while((rd_num = read(in_fd, buffer, BUF_SIZE)) > 0) { //写入目标文件 size_t wr_num, to_num; char *p = buffer; to_num = rd_num; while (to_num > 0) { wr_num = write(out_fd, p, to_num); p += wr_num; to_num -= wr_num; } buffer[rd_num] = '\0'; printf("%s", buffer); } //关闭文件 close(in_fd); close(out_fd); return 0;}
阅读全文
0 0
- IO操作(文件操作)
- C#文件IO操作
- 标准IO文件操作
- IO文件操作
- 文件IO操作编程
- 文件IO操作笔记
- java IO 文件操作
- 文件IO一些操作
- 【Java IO】文件操作
- io 操作文件内容
- java文件IO操作
- C#文件IO操作
- java文件IO操作
- java 文件操作 Io
- IO文件操作
- JAVA文件IO操作
- QT文件IO操作
- java IO 文件操作
- 类模板
- 半年总结—半饱人生
- JAVA三大特性深入理解--多态
- Kafka快速入门
- 彻底搞定C语言指针详解-完整版-时候初学者-必备
- 文件IO操作
- js入门:建立一个图片库
- UVa 227 Puzzle
- Dom对象与jQuery对象的区别
- 杭电OJ_(2047)阿牛的EOF牛肉串
- Lintcode-递归-177 把排序数组转换为高度最小的二叉搜索树
- 交错序列
- MFC学习笔记-串口通信
- poj 4115:鸣人和佐助