Я долгое время не использовал C, и теперь мне нужно изменить небольшой фрагмент кода. Одного не могу понять:
char filename[20];
filename[0] = '\0';
for (j=0; j < SHA_DIGEST_LENGTH; j++){
sprintf(filename + strlen(filename),"%02x",result[j]);
}
В первой строке объявляется строка из 20 символов. Во второй строке первый символ установлен в '\0', так что, я полагаю, это пустая строка.
В цикле for я не понимаю "сумму" между именем файла и его длиной... Первым параметром sprintf должен быть буфер, куда копировать отформатированную строку справа. Каков результат этой суммы? Мне кажется, что я пытаюсь суммировать массив и целое число...
Что мне не хватает?