Я читаю файл, в котором есть данные. Данные неоднородны. Но время от времени может появляться строка с именем файла и значением суммы SHA1. Я читаю данные построчно, а затем, когда есть строка со значением суммы SHA1, я использую strtok, чтобы получить данные в токенах. И я получаю сумму SHA1 в переменной (например, char * hash).
Позже в программе я повторно запускаю SHA1 для того же файла, чтобы получить хеш-сумму (в такой переменной, как unsigned char hash [20]). Теперь я хочу сравнить их со значениями, но не знаю, как к этому подойти. Должен ли я преобразовать массив unsigned char в char * или я должен преобразовать char * в unsigned char? или можно их сравнить без конвертации? И если требуется преобразование, как это преобразование сделать. Я нашел этот sprintf можно использовать для этого, но он не может этого сделать.
РЕДАКТИРОВАТЬ: Я понял, что эта проблема была частью другой моей проблемы. Я разместил этот вопрос здесь с кодом.
unsigned char hash[20]
не простая переменная, это ARRAY или, другими словами,hash
имеет типunsigned char *
. - person VolAnd   schedule 02.04.2015char
илиunsigned char
в указательunsigned char *
некорректно (но возможно), я думаю, вам стоит поговорить о преобразовании изunsigned char
вchar
(возможно) и размещении таких элементов в массиве (указатель адреса наchar*
). - person VolAnd   schedule 02.04.2015