C++ 文件的读写

ofstream outFile("client.dat",ios::out|ios::binary);
	//创建文件
	 /*
	   clients.dat 要创建的文件的名字
	   ios::out 文件打开方式
	   ios::out 输出到文件,删除原有内容
	   ios::app 输出到文件,保留原有内容,总是在尾部添加
	   ios::binary 以二进制文件格式打开文件 
	 */
	 ofstream fout;
	 fout.open("test.out",ios::out);
	 //判断是否打开成功:
	 if(!fout){
	 	cout << "error" << endl; 
	 } 
	 //文件名可以给出绝对路径,也可以给出相对路径。没有交代路径则会在当前文件夹创建文件 
	/*绝对路径: 
	  "c:\\tmp\\mydir\\some.txt"
	  相对路径:
	  "\\tmp\\mydir\\some.txt"
	  当前盘符根目录下:
	  "tmp\\mydir\\some.txt"
	  当前文件夹的tmp子文件夹里面
	  "..\\tmp\\mydir\\some.txt"
	  当前文件夹的父文件夹下
	  "..\\..\\tmp..." 
	*/
	/*文件的读写指针 
		对于输入文件,有一个读指针
		对于输出文件,有一个写指针
		对于输入输出文件,有一个读写指针
		指针用于标识文件操作的当前位置,该指针在哪里,读写操作就在哪里进行 
		                            
	*/
	ofstream fout("a1.out",ios::app); //以添加方式打开 
	long location = fout.tellp(); //取得写指针的位置 
	location = 10;
	fout.seekp(location); //将写指针移动到第10个字节处 
	fout.seekp(location,ios::beg);//从头数location 
	fout.seekp(location,ios::cur);//从当前位置数location 
	fout.seekp(location,ios::end);//从尾部数location
	
	ifstream fin("a1.in",ios::ate);
	//打开文件,定位文件指针到文件尾
	long location = fin.tellg(); //取得读指针的位置 
	location = 10L;
	fin.seekg(location); // 与seekp相同
	
	/*
	字符文件的读写
	  因为文件流也是流,所以流的成员函数和流操作算子也同样适用于文件流
	  文件写完应该关闭关闭,否则在硬盘的内容可能没有向文件写完整。
	*/ 
	
	//二进制文件的读写
	//二进制的读文件: 
	 /*
	  ifstream 和 fstream 的成员函数
	    
		istream& read(char* s,long n);
	   将文件读指针指向的地方的n个字节内容,读入到内存地址s,然后将文件
	   读指针向后移动n字节(以ios::in方式打开文件时,文件读指针开始指向文件开头) 
	 
	 	istream& write(const char*s,long n);
	 	将内存地址s处的n个字节内容,写入到文件中写指针指向的位置,然后
		 将文件写指针向后移动n字节(以ios::out方式打开文件时,文件写指针
		 开始指向文件开头,以ios::app打开时指向末尾) 
	 */
上一篇:Spark(四十五):Schema Registry


下一篇:多线程下载图片