![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
anatox91 |
|
||||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
подскажите пожалуйста как реализовать сабж. с operator<< собсно все легко, а вот этот оператор как-то не доганяю как реализовать
приват-секция моего класса:
пишу
а дальше че-то не доганяю, подскажите пожалуйста заранее большое спасибо! с меня + ![]() Это сообщение отредактировал(а) anatox91 - 16.5.2008, 13:31 -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
||||
|
|||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
ну во первых cstring &obj не const - туда же записывается.
проще всего - через std::string
Это сообщение отредактировал(а) baldina - 16.5.2008, 13:23 |
|||
|
||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
про конст забыл
![]() через std::string я то знаю что можно сделать, интересно можно ли это сделать без классов типа std::string, CString -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 15 Всего: 101 |
можно. вызывай в цикле in.getline () с временным буфером, перераспределяй память и копируй в свой char*
|
|||
|
||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
ясно, попробую
-------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
короче решил для начала написать функцию , которая добавляла бы в конец строки другую строку, чтобы меньше было возни с перераспределением памяти, вроде работает нормально, но почему-то всегда в конец добавляет символ пробела
![]() вот код:
и еще. baldina, я только не понимаю, какое тогда условие задать для цикла? Это сообщение отредактировал(а) anatox91 - 16.5.2008, 20:26 -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
anatox91, а зачем ты лишний раз память выделял и освобождал? Кто тебе мешал сразу под buf выделить память, необходимую для хранения результирующей строки (строка 13). Тогда бы тебе не нужно было делать строки 19-23
|
|||
|
||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
bsa, ты имел ввиду что-то типа такого ?
Это сообщение отредактировал(а) anatox91 - 16.5.2008, 22:08 -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
anatox91, да.
|
|||
|
||||
anatox91 |
|
|||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
а можно поподробнее насчет цикла
![]()
и какое условие ставить я чет не пойму... -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
anatox91, getline() читает строку до тех пор, пока не будет достигнут конец строки, конец файла, либо не заполнится предоставленный буфер.
|
|||
|
||||
opjox |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 17.1.2008 Репутация: 2 Всего: 14 |
[+] выделение памяти и копирование происходит только один раз [-] данная реализация не обращает внимания на символы-разделители, читает все скопом в память |
|||
|
||||
opjox |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 90 Регистрация: 17.1.2008 Репутация: 2 Всего: 14 |
пофиксил:
|
||||
|
|||||
anatox91 |
|
||||||||||||
![]() программист-самоучка ![]() ![]() Профиль Группа: Участник Сообщений: 699 Регистрация: 12.1.2008 Где: ++Украина.Крым++ Репутация: 1 Всего: 13 |
чет не работает
![]() после ввода строки сразу закрывается прога:
и если так, то тоже не выводит ничего после ввода:
кстати а разве катит простой ноль в конце:
вместо этого
? Это сообщение отредактировал(а) anatox91 - 18.5.2008, 10:39 -------------------- The code is the design © Sony VAIO VGN-FW480J ![]() |
||||||||||||
|
|||||||||||||
bsa |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
катит. Но лучше типизировать (т.е. использовать '\0'), имхо. |
||||||||
|
|||||||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |