這幾天在研究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() 方法獲得。