小编mrN*_*ody的帖子

C++读取二进制文件

我想了解如何在 C++ 中读取二进制文件。\n我的代码:

\n\n
int main() {\n    ifstream ifd("input.png",ios::binary |ios::ate);\n    int size = ifd.tellg();\n    ifd.seekg(0,  ios::beg);\n    vector<char> buffer;\n    buffer.reserve(size);\n    ifd.read(buffer.data(), size);\n\n    cout << buffer.data();\n    return 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我认为如果我计算缓冲区,我会得到二进制结果,但事实并非如此。

\n\n

My output is: \xcb\x99\xc5\x98\xcb\x99\xc3\xa16Exif

\n\n

如果我读取文本文件,它会以正常形式而不是二进制形式显示文本。显然我的逻辑不正确。\n我如何将文件读取到缓冲区,以便它包含二进制值?\nP.s. 我这样做是为了实现 Shannon-Fano 算法,因此如果有人对读取二进制文件有任何建议,我将不胜感激。

\n

c++ binary file

3
推荐指数
1
解决办法
2万
查看次数

在c#中排序列表

我在C#中有两个列表.

public List<MyClass> objectList = new List<MyClass>(); // it is filled with MyClass objects

public List<int> numberList = new List<int>(); // it is filled with numbers
Run Code Online (Sandbox Code Playgroud)

numberList中的数字索引对应于objectList中的对象索引:例如:objectList [0] = o1和numberList [0] = 3; objectList [1] = o2和numberList [1] = 5 ...

objectList:             |o1 | o2 | o3 | o4 | o5 | ...
numberList:              3     5    6    1    4 ...
Run Code Online (Sandbox Code Playgroud)

我想按照升序对numberList中的数字进行排序,我希望objectList中的objetcs随之移动:排序后:

objectList:             |o4 | o1 | o5 | o2 | o3 | ...
numberList:              1     3    4    5    6 ... …
Run Code Online (Sandbox Code Playgroud)

c# sorting list

1
推荐指数
1
解决办法
290
查看次数

标签 统计

binary ×1

c# ×1

c++ ×1

file ×1

list ×1

sorting ×1