fstream的用法总结
来源:互联网 发布:mac pro怎么新建文件夹 编辑:程序博客网 时间:2024/05/16 23:59
#include <iostream>#include <fstream>#include <string>using namespace std;void each_line(const char* in, const char* out);void each_word(const char* in, const char* out);void each_char(const char* in, const char* out);int main(){ const char *path_in = "D:\\project\\cpp\\file\\input"; const char *path_out_line = "D:\\project\\cpp\\file\\output_each_line"; const char *path_out_word = "D:\\project\\cpp\\file\\output_each_word"; const char *path_out_char = "D:\\project\\cpp\\file\\output_each_char"; //ifstream infile(path_in); //ifstream infile; //infile.open(path_in, istream::in); //ofstream outfile(path_out); //ofstream outfile; //outfile.open(path_out, ofstream::out); each_line(path_in, path_out_line); each_word(path_in, path_out_word); each_char(path_in, path_out_char); return 0;}void each_line(const char* in, const char* out){ ifstream infile(in); ofstream outfile(out); string s; if(infile){ while(getline (infile, s)){ cout<<s<<endl; outfile<<s<<endl; } }else{ cout<<"empty file!"<<endl; } infile.close(); outfile.close();}void each_word(const char* in, const char* out){ ifstream infile(in); ofstream outfile(out); string s; if(infile){ while(infile >> s){ cout<<s<<endl; outfile<<s<<endl; } }else{ cout<<"empty file!"<<endl; } infile.close(); outfile.close();}void each_char(const char* in, const char* out){ ifstream infile(in); ofstream outfile(out); char s; if(infile){ while((s = infile.get()) != EOF){ cout<<s<<endl; outfile<<s<<endl; } }else{ cout<<"empty file!"<<endl; } infile.close(); outfile.close();}
注意点:
1,两种打开方式有两种,
一种是:
const char *path_in = "D:\\project\\cpp\\file\\input";
ifstream infile(path_in); // =file.open("D:\\project\\cpp\\file\\input",ios::in|ios::out);
第二种是:
const char *path_in = "D:\\project\\cpp\\file\\input";
ifstream infile;
infile.open(path_in, istream::in);
打开方式:
ios::app: 以追加的方式打开文件
ios::ate: 文件打开后定位到文件尾,ios:app就包含有此属性
ios::binary: 以二进制方式打开文件,缺省的方式是文本方式。两种方式的区别见前文
ios::in: 文件以输入方式打开(文件数据输入到内存)
ios::out: 文件以输出方式打开(内存数据输出到文件)
ios::nocreate: 不建立文件,所以文件不存在时打开失败
ios::noreplace:不覆盖文件,所以打开文件时如果文件存在失败
ios::trunc: 如果文件存在,把文件长度设为0
2,文件遍历的三种方式:
while(getline (infile, s)) //line
while(infile >> s) //word
while((s = infile.get()) != EOF) //char
参考:
1,http://www.cnblogs.com/kevin2010_vip/archive/2010/02/03/1662853.html
2,http://panpan.blog.51cto.com/489034/101625/
- fstream的用法总结
- fstream用法总结 C++
- fstream的简单用法
- fstream的用法
- fstream的用法
- fstream的一点用法
- fstream的用法
- fstream的用法
- fstream的用法
- fstream的简单用法
- [转]fstream的用法
- fstream的用法
- fstream的常见用法
- fstream的基础用法
- (转载)fstream的用法
- C++中fstream的用法
- C++中fstream的用法
- fstream用法
- windows怎么与虚拟机linux共享
- 算法复杂度的计算
- internet of things
- 手动实现远程执行功能
- 黑马程序员之java学习笔记18
- fstream的用法总结
- 拦截器验证用户是否登录
- Dynamic-Link Library Best Practices
- 【apache shiro第四篇】shiro教程
- 姑妈对方号码恶意还能是否更换司法官方式
- 关于解决mysql和jsp乱码问题的总结
- Hadoop的学习文献资料
- 谈谈销售之一-------销售工作的本质
- LeetCode Best Time to Buy and Sell Stock II