Задать вопрос
@kytcenochka

Запись вектора в бинарный файл. С++ Читать бинарный файл?

Здравствуйте! Помогите, разобраться, что записывается в бинарный файл
есть файл input.txt:
1 2 3 4 5

Записываю эти числа в вектор и затем в бинарный файл. Нужно чтобы каждое число записывалось в 2 байта

Просматриваю файл, результат. Не понимаю, откуда такие числа?
00 00 00 00 СС СС СС СС В8 D5 16 00 C2 D5 16 00 C4 D5 16 00

short i_n;
    vector <short> vec;
    ifstream input("input.txt");
    for(int i = 0; i < 5; i++)
    {
        input >> i_n;
        vec.push_back(i_n);
    }
    input.close();
  
   std:: ofstream binary_file("fileConfiguration.dat",std::ios::out|std::ios::binary|std::ios::app);
   binary_file.write((char*)&vec, sizeof(vec));
    binary_file.close();
  • Вопрос задан
  • 1015 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
myjcom
@myjcom Куратор тега C++
write((char*)&vec[0],vec.size()*sizeof(vec[0]));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Сам вектор не содержит ваших чисел. Он содержит только описание области памяти, выделенной для хранения данных.
В данном случае первый элемент вектора находится по адресу 0x0016D5В8, последний - по адресу 0x0016D5С2.
https://stackoverflow.com/questions/27466373/memor...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы