C++:通过ifstream读取二进制文件内容

通过构造ifstream对象时指定std::ios::binary可以要求以二进制形式读取文件。

然后可以通过tellg函数获取文件的大小。

#include 
#include 
#include 
#include 
#include 
using namespace std;

vector readBinaryDataFromFile(const string& filePath)
{
    vector ret;
    ifstream is{filePath, ios::binary | ios::ate};
    if(is)
    {
        auto fileSize = is.tellg();
        vector binData(fileSize);;
        is.seekg(0);
        if(is.read((char*)&(binData[0]), fileSize))
        {
            ret = move(binData);
        }
    }
    return ret;
}

int main()
{
    vector&& data = readBinaryDataFromFile("./ff");
    for(auto i = 0; i < data.size(); ++ i)
    {
        if( i != 0 && i % 16 == 0)
        {
            cout<<"\n";
        }
        cout

你可能感兴趣的:(C/C++,c++)