Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.01.2017, 06:50   #1
LifeDiary
 
Регистрация: 24.01.2017
Сообщений: 9
По умолчанию Изменение данных в буфере - C++

Всем привет!
Имеется буфер
Код:
int buf[2];
Имеется файл 123.dat
Код:
wfstream file;
file.open("123.dat", ios::binary | ios::in | ios::out );
в файле записано "Thsi is text for change"
и читается в буфер в режиме binary.
Код:
file.read((wchar_t*)&buf, sizeof(buf+1));
Как программно изменить этот текст из буфера и записать обратно в файл?
LifeDiary вне форума Ответить с цитированием
Старый 29.01.2017, 06:58   #2
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

буфер маловат будет...
Croessmah вне форума Ответить с цитированием
Старый 29.01.2017, 07:03   #3
LifeDiary
 
Регистрация: 24.01.2017
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Croessmah Посмотреть сообщение
буфер маловат будет...
Нормальный! Я проверял файл размером 1 мб, он считывается и записывается 1 в 1 в другой файл
LifeDiary вне форума Ответить с цитированием
Старый 29.01.2017, 10:55   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Потому что вам везет и за выделенным блоком есть память вам принадлежащая...
p51x на форуме Ответить с цитированием
Старый 29.01.2017, 11:05   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Там проблема не в размере буфера в наличии +1
А так файл можно копировать хоть байт за байтом...
waleri вне форума Ответить с цитированием
Старый 29.01.2017, 11:18   #6
LifeDiary
 
Регистрация: 24.01.2017
Сообщений: 9
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Потому что вам везет и за выделенным блоком есть память вам принадлежащая...
Как это? может и не повезти?
LifeDiary вне форума Ответить с цитированием
Старый 29.01.2017, 11:20   #7
LifeDiary
 
Регистрация: 24.01.2017
Сообщений: 9
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Там проблема не в размере буфера в наличии +1
А так файл можно копировать хоть байт за байтом...
Не могу понять, как можно поменять байты... Вот я считываю в буфер, как в коде, а у меня задача вообще сделать xor на каждый байт, как пройтись по байтам и записать обратно в этот же файл? -_-
LifeDiary вне форума Ответить с цитированием
Старый 29.01.2017, 11:27   #8
LifeDiary
 
Регистрация: 24.01.2017
Сообщений: 9
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Потому что вам везет и за выделенным блоком есть память вам принадлежащая...
Файл 30 мб проверил)) не вылетает, правда работает долго программа

Последний раз редактировалось LifeDiary; 29.01.2017 в 12:02.
LifeDiary вне форума Ответить с цитированием
Старый 29.01.2017, 12:11   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Там проблема не в размере буфера в наличии +1
А какая с ним проблема? buf+1 это buf[1], это sizeof(int)

Цитата:
Файл 30 мб проверил)) не вылетает
Может еще и полгода не вылетать. Вот если вдруг возьмете другой компиль или в вашем размер wchar_t станет 4, то писать вы будет за буфер... а так можно и в ифе делить на 0 и долго не падать.
p51x на форуме Ответить с цитированием
Старый 29.01.2017, 13:12   #10
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

int buf[123];
sizeof(buf + 1);

Работать будет, но меееедленно
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автозамена в буфере обмена Егор Александрович Microsoft Office Word 1 27.02.2016 03:36
Работают не все колонки на буфере 5+1 tatarrr Компьютерное железо 1 03.08.2011 00:27
Базы данных изменение данных (Delphi (ADO)). RuthlessD Помощь студентам 0 16.06.2011 19:57
Кодировка в буфере обмена dacorp Общие вопросы Delphi 3 14.05.2011 16:46
Изменение данных и перенос данных из одной таб в другую Kot9ra Microsoft Office Access 13 02.07.2010 12:22