/*
文件流
fstream(读/写文件):默认打开模式:out,in
ifstream(读文件):默认打开模式:in.
ofstream(写文件):默认打开模式out.当打开ofstream时,文件内容自动清空,阻止被丢弃的方法:将打开模式设为:app或in
open()//打开文件,与打开模式有关(in,out,app,trunc,ate,binary)
write()//写文件
read()//读文件
seekg()//设置文件偏移
close()//退出作用域,文件也会自动关闭
*/
#include "stdafx.h"
#include <fstream>
#include <iostream>
using namespace std;
const int nBufSize = 100;
void TestFstream()
{
fstream fStrmIn;
fStrmIn.open("C:\\test\\Test.txt", ofstream::in);//读文件,以只读的形式打开
if (fStrmIn.is_open())//判断文件是否打开成功
{
CHAR szTest[nBufSize];
memset(szTest, 0, nBufSize);
fStrmIn.read(szTest, nBufSize);//读文件
CString sTemp(szTest);
CString sPrint(szTest);
sPrint.Format(L"\n%s", sTemp);
TRACE(sPrint);
}
fstream fStrmOut;
fStrmOut.open("C:\\test\\Test2.txt", ofstream::app);//写文件,以追加的形式打开
if (fStrmOut.is_open())//文件是否打开成功
{
CHAR szTest[nBufSize];
memset(szTest, 0, nBufSize);
fStrmIn.seekg(20); //设置文件偏移位置
fStrmIn.getline(szTest, nBufSize); //读文件
fStrmOut.write(szTest, sizeof(szTest)); //写文件
}
fStrmIn.close(); //关闭文件
fStrmOut.close(); //关闭文件
ofstream fOut;
fOut.open("C:\\test\\Test2.txt", ofstream::app);
if (fOut.is_open())
{
CHAR szTest[nBufSize] = "123456789";
fOut.write(szTest, sizeof(szTest));
}
fOut.close();
}