Как мне прочитать байты из файла? C ++ - PullRequest
0 голосов
/ 13 мая 2018

У меня на рабочем столе есть файл .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 голосов
/ 13 мая 2018

мини-пример с использованием вектора

#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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...