...
password= (char*) malloc(([color=red]pass_length-1[/color])*sizeof(char));
...
Откуда берутся лишние символы?
Компилирую с помощью bcc32.
Подскажите, пожалуйста, в чем дело.
ps не стал разбираться с тегами оформления кода, если таковые имеются, а просто прикрепил архив с программой и файл, где хранятся сгенерированые пароли.
Код:
Почему ты выделяешь стоько памяти??
Насколько я разобрался в твоем коде, я считаю, что должно быть
Код:
...
password= (char*) malloc(([color=red]pass_length[/color])*sizeof(char));
...
password= (char*) malloc(([color=red]pass_length[/color])*sizeof(char));
...
наверное ты прав, но вот от лишних символов в конце это не избавляет.
Код:
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);
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);