C 如何使用fsteam一次讀完未知大小的檔案

2021-08-11 16:35:34 字數 581 閱讀 6786

近期在寫乙個socket程式,在過程中遇到乙個問題:如何將乙個未知大小的檔案按照8k位元組的記憶體全部讀完。

使用這種方法可以實現讀出檔案大小:

ifstream infile("111.bmp",ifstream::binary);
定義乙個ifstream的輸入  infile 檔案流物件

infile.seekg(0,ios::end);

length = infile.tellg();

infile.seekg(0,ios::beg);

首先使用 

infile.seekg() 將檔案指標指向結尾,通過讀取infile.tellg()返回值即檔案的大小;

最後需要執行 

infile.seekg(0,ios::beg);將檔案的指標重新指向開頭,因為後面操作需要檔案開頭操作檔案。

記憶體與硬碟資料交換例程:

最後注意:如果在linux系統上操作,需要注意使用者許可權問題,如果檔案沒有寫許可權的話,使用ofstream新建檔案是不會成功的

一次使用FileOutputStream碰到的坑

一開始的 寫法 inputstream inputstream null fileoutputstream fileoutputstream null inputstream response.body bytestream file file new file if file.exists try...

記一次muse ui 使用

vue init webpack test musenpm i muse ui snpm i babel plugin import less less loader d然後,將.babelrc的 plugins 裡面新增一段 裡面的 plugins import 在使用的時候出現過乙個問題,專案本...

第一次使用

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...