Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Откуда берутся лишние символы?

21K
11 мая 2007 года
rancid
5 / / 01.12.2006
Написал программу которая "генерирует" пароли и сохраняет их в файл. И вроде все прекрасно, но при генерации паролей длины 6, 14, 20 (возможно есть еще) добавляется в конец непонятный символ. При 6 это всегда @, при остальных символы тоже одинаковые, но на моей клавиатур их нет:).
Компилирую с помощью bcc32.
Подскажите, пожалуйста, в чем дело.
ps не стал разбираться с тегами оформления кода, если таковые имеются, а просто прикрепил архив с программой и файл, где хранятся сгенерированые пароли.
4.3K
11 мая 2007 года
flat
142 / / 27.12.2005
 
Код:
...
password= (char*) malloc(([color=red]pass_length-1[/color])*sizeof(char));
...

Почему ты выделяешь стоько памяти??
Насколько я разобрался в твоем коде, я считаю, что должно быть
 
Код:
...
password= (char*) malloc(([color=red]pass_length[/color])*sizeof(char));
...
21K
11 мая 2007 года
rancid
5 / / 01.12.2006
наверное ты прав, но вот от лишних символов в конце это не избавляет.
2.1K
11 мая 2007 года
elan
56 / / 10.04.2003
 
Код:
password = (char*) malloc((pass_length+1)*sizeof(char));
password[pass_length] = '\0';
for(j = 0; j<pass_count; j++)
{
  for(i = 0; i<pass_length; i++)
  password= SYMBOLS[rand()%85];
  fputs(password, pass_list);
}
free(password);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог