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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2010, 15:39   #11
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Цитата:
При создании динамического массива и введении в него более одного символа, массив заполняется каким-то мусором и функция strlen, возвращает 0.
По стандарту динамический массив не заполняется 0('\0'), собственно как и обычный
Код:
int i = 0;
for( i < STR_SIZE; ++i )
   str[i] = '\0';
Потом что угодно делаем

Вся проблема вот в этом:
Код:
	while (i < 3) {
		*(editor + i) = _getch();
		i++;
	}
после strcpy( editor, " " ); editor указывает на такое: ' \0мусор'
Затем мы меняем первые три символа( вместо них будет 1 2 3 ), и получаем:
'123усор продолжается'
При этом нет символа конца строки, вот оно и выводит неправильно.
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux

Последний раз редактировалось ozo; 29.04.2010 в 15:42.
ozo вне форума Ответить с цитированием
Старый 29.04.2010, 15:40   #12
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

Во, получилось огромное спасибо вот этим двум постам

Цитата:
вообще то лишь первый символ изменит(ну и скорее всего второй изменить в ноль(не помню, давно не юзал их))
мы же копируем строку, а не заполняем её
Код:
лучше так, если не получится, тогда через цикл заполните всю строку символом конца строки, т.е. '\0'
От мусора избавились. Спасибо
Tirendus вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование метода двойной буферизации для динамической графики(избавление от мерцания) noxin Win Api 1 05.04.2010 20:08
Win Api: использование метода двойной буферизации для динамической графики(избавление от мерцания) noxin Помощь студентам 0 05.04.2010 19:55
Найдите ошибку. Строки. Динамич. память Познающий Общие вопросы C/C++ 8 04.09.2009 17:37
Возможно ли сделать рабочий Transparent для Image, созданной на динамической форме2, для формы1. Лукманов Александр Мультимедиа в Delphi 3 27.04.2009 14:12
Динамический Label для динамической формы... Arkuz Общие вопросы Delphi 8 25.09.2007 00:03