#include <iostream>
#include <string>
#include <fstream>
#include <typeinfo>
using namespace std;
void main()
{
string s="hello!";
ofstream f1("f2.dat",ios::binary);
//定义一个 写入 文件句柄f1,创建(作用于)f2.dat(二进制)文件
//从文件头写入字符 .write(文件头,写入字节的长度)
f1.close();
ifstream f2("f2.dat",ios::binary);
//定义一个 读出 文件句柄f2,作用于f2.dat(二进制)文件
//将文件指针定义到文件尾 .seekg(偏移量,文件尾)定位读指针函数
string::size_type n=f2.tellg();
//定义无符号的长整数n代表文件长度,并求n的长度 .tellg()返回文件指针位置,在这里从文件尾返回
//在读之前重新定位文件指针到文件头
string s2(n,' ');
//定义n个字节的空字符串
//读出文件内容 .read(文件头,要读取的长度)
f2.close();
cout<<s2<<endl;
}
其他基本操作:
字符串–>字符(常数)指针: s–>s.c_str()
文件指针:
读 f.seekg(0,ios::beg);;
写 f.seekp(0,ios::beg);
当前位置 f.tellg() 和 f.tellp();
参考位置:
ios::beg 文件开头,默认值
ios::cur 标记当前的位置
ios::end 文件尾
文件读写:
读: f.read((char*)变量,长度);
写: f.write((char*)变量,长度);
指针锁定清除:
f.clear();
说明:当指针进入“f.eof()”位置时,将不再移动,必须使用“f.clear()”清除锁定,然后才可以移动。