2009年3月31日星期二

簡單地閱讀整個文件

有時你會想閱讀整個文件,而不是一行行或一個固定大小的緩衝區。這裡有一種方法來完成該工作:

std::ifstream file("myFile", std::ios_base::binary);
if(file) {
std::ostringstream buffer;
buffer << file.rdbuf();
file.close();

std::string data = buffer.str();
}

就這麼簡單。該文件的內容會複製到 ostringstream 去。
相同的代碼可以用來複製文件,您只需要把 ostringstream 更換成一個 ofstream。
請注意,以上代碼旨在簡潔,未必是高效的實作。

沒有留言:

發佈留言