C++文件操作

//---fstream和文件打开模式---

//--使用ofstream写数据,用ifstream读数据。

//--若程序需要使用同一个流进行输入又进行输出,那么使用fstream很方便。



//-------文件模式---------

//      ios::in      打开一个文件用于输入 

//      ios::out     打开一个文件用于输出 

//      ios::app     所有输出数据附加于文件末尾  

//      ios::ate     打开一个文件用于输出 若文件已存在,移动到文件末尾数据可写入文件任何位置 

//      ios::truct   文件存在,丢弃文件内容(ios::out的默认方式) 

//      ios::binary  打开一个文件用于二进制输入输出 



#include<iostream>

#include<fstream>

using namespace std;

int main()

{

	fstream inout;

	//以写的方式打开一个文件 

	inout.open("sayhi.txt",ios::out);

	inout <<"Hi,boy,long time no see,how are you?\n";

	inout.close();

	//以追加的方式打开一个文件 

	inout.open("sayhi.txt",ios::out|ios::app);

	inout<<"Hey,girl,nice to meet you,I am fine,and you?";

	inout.close();

	char hello[20];

	//以读的方式打开一个文件 

	inout.open("sayhi.txt",ios::in);

	while(!inout.eof())

	{

		inout>>hello;

		cout<<hello<<" ";

	}

	inout.close();

	return 0;

} 

  

 

对于二进制文件的读取:

//为了读写二进制文件,必须对流对象使用read和write函数



//向文件中写入非字符数据,用reinterpret_cast<dataType>(address)

//将非字符地址转换为二进制I/O需要的字符数组指针。 

#include<iostream>

#include<fstream>

using namespace std;

int main()

{

	fstream binaryio;

	binaryio.open("city.dat",ios::out|ios::binary);

	if(binaryio.fail())

	{

		cout<<"you fail the city";

	} 

	char s[]="helloworld";

	binaryio.write(s,10);

    binaryio.close();

	binaryio.open("city.dat",ios::in|ios::binary); 

	char temp[10];

	binaryio.read(temp,10);

	temp[10]='\0';

	cout<<s;

	binaryio.close();

	return 0;

}

  

你可能感兴趣的:(文件操作)