现在的位置: 首页 > 综合 > 正文

C++学习笔记(三十六) 文件IO流 字符读写

2013年10月16日 ⁄ 综合 ⁄ 共 657字 ⁄ 字号 评论关闭

打开文件后 一定要先检查是否成功打开 再做下面的事情!

#include <iostream>
using namespace std;
#include <string>
#include <fstream> 

 // ifstream 是cin的子类。所以操作cin的方法都能操作ifstream
int main()
{
	 ifstream fin("04io.cpp"); //只接收c风格字符串路径  sting.c_str()
	 // 等同于 ifstring fin; fin.open(" ");
	if(!fin) //打开失败
	{
		cout << "打开文件失败" << endl;
		return 1;
	}
	
	ofstream fout("04io.copy"); //会将原有内容清空
	if(!fout)
	{
		cout << "打开文件失败" << endl;
		return 1;
	}
	
	char ch;
	//while((ch=fin.get()) != EOF)
	 while(fin.get(ch)) 
	 {
		 fout << ch;
		  cout << ch;
	}
	// while(fin >> ch) cout << ch;  // 处理非空白字符用
/*	
	这种写法会多出最后一个字符
	while(fin)
	{
		fin.get(ch); 
		fout << ch; //读取出错后继续执行
	}
*/	
	fin.clear(); //如果后面还需要使用来输入,需要clear。因为之前读到文件末尾就置为错误状态了。 但后面是关闭流,也就可以不要。
	fin.close();  //关闭文件	
	fout.close();
//	fin.get();  //原样获取
//	fin >> ch; //不要空白
	return 0;
	
	
}

抱歉!评论已关闭.