写操作对应的有 << 、put 、write等。
①写操作的类型/ASCII码类型的可知字符串: << 、 put
put只能写入一两个字符,多了写不了
#include<fstream>
using namespace std;
int main(int args, char* argv[])
{
short var = 2000;
ofstream fs;
fs.open("d:\\123.txt");
if (!fs) return 0;
fs << var << endl;
fs << "真的是你吗!" << endl;
fs.put('Y');
fs.close();
return 0;
}
②二进制类型写文件:write
#include<fstream>
using namespace std;
int main(int argc, char* argv[])
{
short var = 20000;
ofstream fs;
fs.open("d:\\123.txt");
if (!fs) return 0;
fs.write((char*)&var, sizeof(var));
fs.close();
return 0;
}
二、文件的读操作
①读文本类型/ASCII码类型的文件:>> get getline
#include<fstream>
using namespace std;
int main(int argc, char* argv[])
{
short var = 20000;
ofstream fs_out;
fs_out.open("d:\\123.txt");
if (!fs_out) return 0;
fs_out << var << endl;
fs_out.close();
var = 30000;
ifstream fs_in;
fs_in.open("d:\\123.txt");
if (!fs_in) return 0;
fs_in >> var;
char ch = fs_in.get();
fs_in.close();
return 0;
}
②读取二进制文件类型
#include<fstream>
using namespace std;
int main(int argc, char* argv[])
{
short var = 20000;
ofstream fs_out;
fs_out.open("d:\\123.txt");
if (!fs_out) return 0;
fs_out << var << endl;
fs_out << var + 1 << endl;
fs_out << var + 2 << endl;
fs_out.close();
ifstream fs_in;
fs_in.open("d:\\123.txt");
if (!fs_in) return 0;
char sz[1000] = { 0 };
fs_in.read(sz, 1000);
fs_in.close();
return 0;
}
③getline是一行一行的读数据
#include<fstream>
using namespace std;
int main(int argc, char* argv[])
{
short var = 20000;
ofstream fs_out;
fs_out.open("d:\\123.txt");
if (!fs_out) return 0;
fs_out << var << endl;
fs_out << var + 1 << endl;
fs_out << var + 2 << endl;
fs_out.close();
ifstream fs_in;
fs_in.open("d:\\123.txt");
if (!fs_in) return 0;
char sz[10] = { 0 };
fs_in.getline(sz, 10);
fs_in.getline(sz, 10);
fs_in.getline(sz, 10);
fs_in.close();
return 0;
}