C与C++的文件操作
来源:互联网 发布:mac更改管理员名称 编辑:程序博客网 时间:2024/05/29 19:09
C语言的文件操作
通过定义两个文件类型的指针, 利用C库的文件操作函数,(fopen,,)对文件进行打开、关闭、读写操作
然后利用getc一次从输入流stdin读取一个字符,putc再把这个字符写到输出流stdout
最后进行end of file检测
#include<stdio.h>#include<stdlib.h>int main (int argc, char* argv[]){ FILE *in, *out; int ch; if(argc != 3) { fprintf(stderr, "请输入格式:copyfile sourcefile dircfile \n"); exit(EXIT_FAILURE); } if( (in = fopen(argv[1],"rb")) == NULL) //可读的二进制文件 { fprintf(stderr, "打开文件失败 %s\n", argv[1] ); exit(EXIT_FAILURE); } if((out =fopen(argv[2],"wb")) == NULL) { fprintf(stderr, "打开文件失败 %s\n", argv[2] ); fclose(in); exit(EXIT_FAILURE); } while(ch = getc(in) != EOF) { if(putc(ch,out) == EOF) { break; } } if(ferror(in)) printf("读取文件%s 失败\n",argv[1] ); if(ferror(out)) printf("读取文件%s 失败\n",argv[2] ); printf("successful copy file"); return 0;}// cmd终端下运行 file.exe source.exe dir.exe
C++文件操作
C++通过 ifstream ofstream 类,定义对象,调用相应的方法就可以实现同样的功能。
#include <fstream>#include <iostream>using namespace std;int main(int argc ,char* argv[]){ ifstream in; //文件输入流对象 ofstream out; //文件输出流对象 //或者使用构造函数 ofstream out("test.txt"); //写操作 out.open("test.txt"); if(!out) { cout<<"open file failed"<<endl; return 0; } for(int i=0;i<10;i++) { out<<i; //数据流出到out对象的文件 } out<<endl; out.close(); //读操作 in.open("test.txt"); if(!in) { cout<<"open file failed"<<endl; return 0; } char ch; while(in >> ch) //把文件流入ch { cout << ch; //再流出到终端 } in.close(); return 0;}
ofstream out(“test.txt”, ios::app);
ios::in 可读
ios::out 可写
ios::binary 以二进制形式打开
ios::app 写入的数据将追加到文件末尾
ios::trunk 删除文件原来已存在的内容
ios::nocreat 如果不存在将无法打开
ios::noreplece 如果不存在 试图用open打开将返回一个错误。
阅读全文
0 0
- Qt与C文件操作的差异
- C语言的函数与文件操作
- C与C++的文件简单操作
- C与C++的文件操作
- 二叉排序树与文件的操作(C、C++)
- C的文件操作
- C的文件操作
- C的文件操作
- C 的文件操作
- [C/C++]文件操作
- 基于C/C++/BCB的文件操作
- C风格文件操作 与 fstream的性能差距
- C语言中与文件有关的操作
- C语言的文件读取与写入操作
- C语言/C++文件的读取与写入操作
- C语言与C++文件的I/O操作
- C++BUILDER的文件操作
- 基于C的文件操作
- C语言获取日期和时间(小白笔记)
- 文字不换行,超出部分显示省略号
- 数据结构实验之查找一:二叉排序树
- mybatis复杂应用的简单实例
- Java基础知识缩写大全
- C与C++的文件操作
- Django框架学习笔记(30.组合搜索组件源码)
- MySQL半同步复制--transmit_stop
- websocket
- android四大组件-Activity
- HDU2896
- 每天一个linux命令(1):ls命令
- Eclipse安装Activiti Designer插件及所遇问题解决
- toString() 和 (String) 以及 valueOf() 三者的对照关系[java]