![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.03.2012
Сообщений: 14
|
![]()
Всем привет! подскажите, пожалуйста, можно ли как-то записать массив int* в бинарный файл используя функцию ofstream write??? эта функция принимает на вход массив char*, но при переводе int в char происходит потеря данных для таких элементов как например -129 и т.д. Может есть другой способ записи?
перерыла весь интернет, ничего подходящего не нашла, но как-то не верится что нельзя это реализовать... Заранее спасибо! |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
![]()
Flame20
можно ли как-то записать массив int* в бинарный файл используя функцию ofstream write разумеетсмя, можно. std:: ofstream ofs("out.bin", std::ios:: out | std::ios::binary); int* arr = new int[10]; ofs.write((const char*) arr, 10 * sizeof(int));
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 21.03.2012
Сообщений: 14
|
![]()
спасибо, но разве при данном способе например вместо числа -129 не запишется 127???
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
![]()
Flame20
спасибо, но разве при данном способе например вместо числа -129 не запишется 127??? при данном способе запишется бинарное представление числа в памяти. как ты дальше будеть интерпретировать это значение - компилятор около птицы.
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 21.03.2012
Сообщений: 14
|
![]() Цитата:
Код:
Последний раз редактировалось Flame20; 29.04.2012 в 22:21. |
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
![]()
Flame20
если прочитаете в массив того же типа, то значения будут, как это ни парадоксально, в точности равны оригинальным.
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 21.03.2012
Сообщений: 14
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
![]()
Flame20
но ведь функция ofs.read() требует массив именно типа char* ну и что? функция write тоже требует тип char*, но это не помешало мне записать массив интов. На C/C++ у тебя полностью развязаны руки. Представь себя Дарт Вейдером - повелителем темной силы :D oO
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 21.03.2012
Сообщений: 14
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Двухзначное число int записать как пару однозначных int (c++) | narien | Помощь студентам | 2 | 08.01.2012 15:10 |
Бинарный файл | Хитман | Помощь студентам | 1 | 27.03.2011 19:04 |
Бинарный файл | nXs | Общие вопросы Delphi | 4 | 26.03.2011 11:40 |
Бинарный файл | mchip | Microsoft Office Excel | 10 | 05.03.2009 19:10 |
Бинарный файл | Bayazet | Общие вопросы Delphi | 1 | 04.03.2009 16:39 |