![]() |
|
Модераторы: bsa |
![]()
|
|
| Ekate |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 6.7.2007 Репутация: нет Всего: нет |
Добрый день,
вопрос следующий, есть функция sub, которая вычитает из 1 аргумента 2ой и записывает рез-т в строку, вопрос в том, как корректно очистить строку, чтобы применить функцию в цикле? Код
Результат
Спасибо |
||||
|
|||||
| Ockonal |
|
|||
![]() Smile ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 9.7.2007 Где: Ukraine::Nikolaev ; Репутация: нет Всего: 3 |
А выделять память под строку?
--------------------
Ум заключается не только в знании, но и в умении прилагать знание на деле.Самое лучшее из всех доказательств есть опыт.Каждому человеку свойственно ошибаться, но никому, кроме глупца, несвойственно упорствовать в ошибке. |
|||
|
||||
| Ekate |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 6.7.2007 Репутация: нет Всего: нет |
Т.е. так ?
|
|||
|
||||
| Ockonal |
|
|||
![]() Smile ![]() Профиль Группа: Участник Сообщений: 219 Регистрация: 9.7.2007 Где: Ukraine::Nikolaev ; Репутация: нет Всего: 3 |
Если уж так очищать:
memset( &string, 0, sizeof( string ) ); А вообще, через new/delete. --------------------
Ум заключается не только в знании, но и в умении прилагать знание на деле.Самое лучшее из всех доказательств есть опыт.Каждому человеку свойственно ошибаться, но никому, кроме глупца, несвойственно упорствовать в ошибке. |
|||
|
||||
| Ekate |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 6.7.2007 Репутация: нет Всего: нет |
Нет, так не пойдет: #include <string.h> void *memset(void *s, int c, size_t n); DESCRIPTION The memset() function fills the first n bytes of the memory area pointed to by s with the constant byte c. Ну все равно спасибо за наводку, просто я, наверное, не поняла, вроде изначально при char buf3[200]=""; уже выделяется память, и странно, что когда strcpy(buf2,""); не затирается вся строка, но при выводе пустая, я вот этого не поняла я не указала, что в С |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Ekate, подозреваю, что у тебя есть еще ошибки. Так как в представленном тобой коде видится только одна потенциальная ошибка. Я не знаю, как реализована функция sub, но, думаю, что она либо изменяет строку в треьем параметре, либо выделяет память под новую, либо держит в себе локальный буфер. В любом из этих трех случаев у тебя ошибки:
1. функция printf выведет один и тот же результат 2. не освобождается выделенная память 3. нельзя возвращать указатель на локальные нестатические переменные. Я что-то забыл? |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
при формировании строки (в sub) заканчивай ее \0, тогда хвост не будет отображаться |
|||
|
||||
| Ekate |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 6.7.2007 Репутация: нет Всего: нет |
Доброе утро,
не приступала к решению проблемы дооолгое время, все еще актуальна, не могу понять, наверняка ошибка в процедуре вычитания, но не вижу, не подскажите
процедура деления
Спасибо |
||||
|
|||||
| Ekate |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 6.7.2007 Репутация: нет Всего: нет |
поправила вычитание, работает прекрасно, а вот с делением все не получается
|
|||
|
||||
![]()
|
| Правила форума "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. |