这几天在研究C++ 文件处理方面的东西。
综述:
C++ file I/O 主要用到以下几个类:
1.ifstream 文件读 reading only
2.ofstream 文件写 writing only
3.fstream 读写均可。
声明以上类的变量即可对文件操作。将一个文件与以上一个类变量关联即可。注意包含头文件<fstream.h>。
#include<fstream>
#include<iostream>
#include <sys/stat.h>
using namespace std;
void main()
{
ifstream files;
struct stat results;
if (stat("test.txt", &results) == 0) //输出字节个数。
cout<<results.st_size<<endl; ///不需要提前打开文件。
files.open("text.txt",ios::in|ios::binary);把txt文件按二进制形式打开。
struct stat results;
if (stat("test.txt", &results) == 0) //输出字节个数。
cout<<results.st_size<<endl;
}
一、C++ 文件操作模型
(在C++中,stream class 声明的变量被看做 a stream (流) 或者是 array of
uninterpreted bytes。)
简单说是把变量看做字节流或字节数组。--------file I/O mode 。
流或数组的长度说明了文件有多少字节,被 0 到length-1 。length 是文件总的文件数。其中有两个和位置有关的量:
1.当前读位置,指示下一个要读取的字节 -----通过get() 方法获得。
2.当前写位置,指示下一个要写的位置------通过put() 方法获得。