fstream
От: __VoiD__ Россия  
Дата: 27.10.07 19:01
Оценка:
у меня такая проблема.нужно сделать лабораторную работу крипто-систему
в и тоге на выходе получается зашифрованный файл в начале которого в первых 4 байтах записан размер исходного текста.
так же в файле помимо текста есть имитовставка для проверки целостоности).
для тестинга я имитирую иорчу данных(открываю файл и где нибудь в середине добавляю символ)
и сохраняю в блокноте. после этого когда я читаю fstream классом свои данные заново то первые четыре байта почему-то портятся там уже не тот размер который был до этого(что странно ведь я менял данные где то в середине файла)
размер я читаю очень просто
file.open("c:\\fuck.txt",ios::out |ios::in| ios::binary);
file.read((char *)&nsize,4);
в чем может быть проблема не пойму(((((
Re: fstream
От: Socket Ниоткуда http://www.samborsky.com
Дата: 27.10.07 23:13
Оценка:
Здравствуйте, __VoiD__, Вы писали:

__V>и сохраняю в блокноте.


Скорее всего блокнот и портит тебе данные.
Делай изменение бинарных файлов в каком-нибудь hex-редакторе.
Сходу могу посоветовать radasm — у него есть режим открытия в hex
http://www.samborsky.com — мой блог
Re[2]: fstream
От: dip_2000 Россия  
Дата: 28.10.07 17:10
Оценка:
Здравствуйте, Socket, Вы писали:

S>Скорее всего блокнот и портит тебе данные.

S>Делай изменение бинарных файлов в каком-нибудь hex-редакторе.
S>Сходу могу посоветовать radasm — у него есть режим открытия в hex

Поддерживаю, и добавлю еще


file.open("c:\\fuck.txt",ios::out |ios::in| ios::binary);
file.read((char *)&nsize,4);


сохранять binary в txt не стоит.
Если открываешь для чтения, открывай как ios::in, ios::out — лишнее
Re[3]: fstream
От: Socket Ниоткуда http://www.samborsky.com
Дата: 28.10.07 23:35
Оценка:
Здравствуйте, dip_2000, Вы писали:

_>сохранять binary в txt не стоит.

_>Если открываешь для чтения, открывай как ios::in, ios::out — лишнее

Привет,
а можно узнать мнение почему не стоит?
сам работаю с бинарными данными только, проблем не было никогда с \r и \n
или причина в другом?
http://www.samborsky.com — мой блог
Re[4]: fstream
От: dip_2000 Россия  
Дата: 29.10.07 05:29
Оценка:
Здравствуйте, Socket, Вы писали:

_>>сохранять binary в txt не стоит.


S>Привет,

S>а можно узнать мнение почему не стоит?
S>сам работаю с бинарными данными только, проблем не было никогда с \r и \n
S>или причина в другом?

Собственно аргументация не очень сильна, но она имеет право на существование, имхо
Потому что это
а) не совпадение жиданий — в .txt файле обычно ожидаем увидить нечто читаемое
б) на файлы в таком формате обычно есть системные настройки — чем их открывать по умолчанию. Текстовые редакторы. И если мы поставляем продукт в котором лежат наши настройки в бинарном(заметьте не в текстовом или xml!) формате, то мы должны быть готовы к тому, что ды же не опытный пользователь его с легкостью откроет(в винде не появится да же окна "Открыть с попощью"), и более того, по своей ошибке может еще и нажать "Сохранить" в этом текстовом редакторе(или у него будет настроенно автосохранение). В итоге — та же ситуация что и у топикстартера — порча данных.
Обычно бинарные данные это .dat, .bin или еще какой формат, но не txt.
Вобщем скорее имхо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.