I/O Stream
2016-02-25 11:47
204 查看
文件输入流的变量是ifstream,输出流是ofstream,它们包含在头文件<fstream>中。stream变量必须通过open函数连接文件。一旦声明了输入/输出流并连接了文件,就可以用">>"/"<<"从文件中获取信息。在open函数后,要用fail函数检查文件是否成功打开
每一个input-file stream都有成员函数eof来判断是否已读到文件结尾,当程序试图访问文件结尾后的一个字符时才会返回true(即遇到end-of-file标记时)
当用open打开存在文件时,文件内容会被清空。如果不想清空原文件内容而在后面继续添加新内容,使用
get函数读入一个字符并存储在一个char型变量中。每一个输入流,无论是file stream还是cin都有get这个member function。对应的输出函数是put
每一个输入流都有成员函数putback,它将一个char型变量放回输入流中。这个char型变量不必是最后一个获得的字符,它可以是任意字符
。
每一个input-file stream都有成员函数eof来判断是否已读到文件结尾,当程序试图访问文件结尾后的一个字符时才会返回true(即遇到end-of-file标记时)
#include<fstream> ... ifstream in_stream; ofstream out_stream; int num1, num2; in_stream.open("input.txt"); if(in_stream.fail()) { cout << "Fail openning input file\n"; exit(1); } in_stream >> num1 >> num2; out_stream.open("out.txt"); if(out_stream.fail()) { cout << "Fail openning output file\n"; exit(1); } out_stream << "num1:" << num1; in_stream.close(); out_stream.close();
当用open打开存在文件时,文件内容会被清空。如果不想清空原文件内容而在后面继续添加新内容,使用
out_stream.open("out.txt", ios:app); // append to the filestream可以作为函数的参数,但必须是call-by-reference的
void copy(ifstream& in, ofstream& out);">>"符号既是一个行为,也会产生一个bool值,当stream成功获得数据时返回true,否则返回false。注意通过cin >> var;读入的变量,输入中的空格或'\n'会留在输入流中,此时如果使用get,则将获得空格或'\n'
get函数读入一个字符并存储在一个char型变量中。每一个输入流,无论是file stream还是cin都有get这个member function。对应的输出函数是put
每一个输入流都有成员函数putback,它将一个char型变量放回输入流中。这个char型变量不必是最后一个获得的字符,它可以是任意字符
char c; do { cin.get(c); cout.put(c); } while(c != ' '); cin.putback(c);
。
相关文章推荐
- HDU 3698 DP+线段树
- Java项目导出war包 security alert:integrity check error”
- php文件操作
- vsftp
- linux磁盘分区一些细节
- Java 动态代理
- Javascript变量的命名规则
- Android应用开发中Fragment的静态加载与动态加载实例
- 10个影响JavaEE性能问题
- HDU 5625 Clarke and chemistry(字符串模拟题目)
- Windows7下如何删除cygwin 文件夹
- Android检测网络是否正常代码!
- 用户认证
- jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
- OnCollisionEnter OnTriggerEnter 区别
- 在C 函数中保存状态:registry、reference和upvalues
- Multiply Strings
- Servlet生命周期及线程安全
- log4cpp学习
- va_list 简介