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

时间:2018-05-13 11:43:20

标签: c++ file

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

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

TNX。

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;

它可以工作,但我正在读取字符串中的字节而不是文件或是否相同?

1 个答案:

答案 0 :(得分:0)

使用矢量

的迷你示例
#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();