如何从文件中读取字节?C++

How do I read bytes from file? C++

本文关键字:字节 C++ 读取 文件      更新时间:2023-10-16

在我的桌面上,我有.txt文件。我需要将所有字节从内存读取到数组。

我尝试从文件读取文本到字符串,然后使用 memcpy(( 从字符串中读取字节,但我认为这是不正确的。

咔嚓。

ifstream File("C:\Users\Flone\Desktop\ass.txt");
string file_text;
//start to read TEXT file (look end below):
char word_buffer[30];
for (int i = 0; i < 30; i++)
{
word_buffer[i] = NULL;
}
while (File.eof() == false)
{
File >> word_buffer;
for (int i = 0; i < 30; i++)
{
if (word_buffer[i] != NULL)
{
file_text += word_buffer[i];
}
}
if (File.eof()==false) file_text += " ";
for (int i = 0; i < 30; i++)
{
word_buffer[i] = NULL;
}
}
File.close();
//end read TEXT file.
cout << file_text << endl;

它有效,但我正在从我的字符串而不是文件中读取字节,还是相同?

使用矢量的迷你示例

#include <fstream>
#include <iterator>
#include <vector>

这会将字节从文件读取到向量中

std::ifstream input("d:\testinput.txt", std::ios::binary);
std::vector<char> bytes(
(std::istreambuf_iterator<char>(input)),
(std::istreambuf_iterator<char>()));
input.close();