![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 19 Всего: 181 |
Xenon, делай как тебе удобнее, если писать сначала размер всех переменных, можно и структуру сделать и назвать "CalbumHeader", но ИМХО не стоит оно того, у тебя статических переменных то почти нет.
поддерживаю -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Вот написал такой бред - вылетает на втором write с ошибкой доступа ... Где я туплю активно?
|
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Сдается мне, что проблема в том, что size() для string размер возвращает в size_t, а нужен int ...
|
|||
|
||||
| nickless |
|
||||||||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 19 Всего: 181 |
Вот тут:
Ты интерпретируешь размер строки как указатель, надо примерно так:
-------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
||||||||
|
|||||||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
А без лишних переменных?
Добавлено @ 01:08 и можно потолковее это сделать? А то выглядить достаточно громоздко |
|||
|
||||
| nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 19 Всего: 181 |
Без переменных имхо не получится, write() требует указатель, а для этого нужна переменная.
Можно только что через operator<< попробовать, но он вроде только в текстовом модусе работает. edit: Да, выглядит не очень Если все размеры записать в структуру, то reinterpret_cast потребуется только один раз, но появится лишняя структура... Это сообщение отредактировал(а) nickless - 12.12.2006, 01:22 -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
nickless, жаль
Спасибо |
|||
|
||||
| nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 19 Всего: 181 |
Всегда пожалуйста
-------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
| satrap |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 29.11.2006 Репутация: нет Всего: 1 |
-- cut --
Это сообщение отредактировал(а) satrap - 23.1.2007, 21:24 |
|||
|
||||
| Xenon |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
nickless, а считывать как? Столкнулся просто с проблемой ... Я читаю файл пока не достигну конца. В начале цикла я создаю переменные, которые мне нужно считать.
Потом начинаю читать:
Придется создать переменную buf, типа char, в нее считывать данные, а потом присваивать полю artist и т.д? |
||||
|
|||||
| Oleg_Ci |
|
||||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 3 Всего: 30 |
|
||||
|
|||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Олег4, не пойдет.
std::string::c_str() возвращает const char*. Читать в прямо в строку не получится. Да и нельзя. Придется использовать буфера. |
|||
|
||||
| Oleg_Ci |
|
|||
![]() Friend ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 28.5.2006 Где: Новосиб.обл. Репутация: 3 Всего: 30 |
||||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Опасно. У меня был случай, когда std::string не был цельным куском памяти
|
|||
|
||||
| Romikgy |
|
||||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 8 Всего: 146 |
имхо данный код корректен
это смотря что делаешь со строкой, хотя по стандартам такого быть не должно -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |