0 / 0 / 0
Регистрация: 30.11.2016
Сообщений: 2
|
||||||
1 | ||||||
Объясните смысл кода в 10 строк30.11.2016, 11:15. Показов 1086. Ответов 3
Метки нет (Все метки)
Добрый день.
Я знаком с программирование, но пользуюсь скриптовым языком. Он намного проще. Попытался самостоятельно понять следующий код, и даже примерно понял его. Но мне нужно не примерное, а точное понимание. В связи с этим прошу вашей помощи.
2. определяем текущую дату в секундах 3. обновляем базу в зависимости от текущей даты для rand() 4. r принимает случайное значение от 0 до 9999 Просьба поправить если что не так. А вот далее у меня трудности в понимании. 1. len принимает значение часла байтов форматированной строки. Но я не смог понять правила форматирования. Просьба помочь в понимании данного форматирования 2. MD5() - не нашел описания данной функции, соответственно не могу понять что и каким образом делает функция. Понимаю, что формирует хэш строку, но правиа формирования понять не могу 3. получаем форматированную строку. Правильно ли я понимаю, что она записывается в переменную v? 4. формируется строка, где в первый параметр функции подставляются последующие. Правильно ли я понимаю, что %s, %d - это форматы подставляемых значений (строка символов и десятичное значение)
0
|
30.11.2016, 11:15 | |
Ответы с готовыми решениями:
3
ОбЪясните смысл кода Объясните смысл кода Объясните смысл кода. Объясните, пожалуйста, смысл кода |
53 / 42 / 31
Регистрация: 24.11.2016
Сообщений: 140
|
|
30.11.2016, 11:32 | 2 |
функция заносит строку и значение двух переменных в массив buf и возвращает в len количество занесенных символов в массив
с другим sprintf'ом тоже самое. а здесь printf просто выводит на экран все что после запятой, и да %s, %d, это спецификаторы типов, вместо них буду стоять значения переменных и строки "/trackingapi", t, r, v сам MD5 не интересовался, но что это такое написано тут
1
|
30.11.2016, 11:50 | 3 | ||||||||||
Тут на самом деле все не очень сложно. Вообще рекомендую взять за правило в таких случаях делать следующее: выводите сформированные строки на экран, ищите общие части. Если строка на экране представляет собой нечто более сложное чем
кусок_форматной_строки+еще_какой_то_обвес , то тогда уже открывайте документацию по форматной функции и анализируйте на предмет наличия работающих управляющих последовательностей и механизма их функционирования в конкретном случае. В вашем конкретном случае их нет, просто к строке справа дошиваются два целых числа. То есть это
md-5 хэш от буфера buf с длиной данных len , где hash -- результирующий буфер. То, что именно он является выходным параметром, неочевидным способом следует из того, что он до этого не использовался. Разумеется, это все вилами по воде писано, так как вы справедливо заметили, реализация функции отсутствует в приведенном коде, значит по факту может быть что угодно. Например, функция легко может вообще ничего не делать.
Да.
В первый параметр непосредственно ничего не подставляется. Он -- константный (неизменяемый) строковый литерал. На его основе, внутри форматной функции формируется буфер (как правило), уже в который подставляются значения из остальных аргументов в соответствии с форматами. Затем этот буфер или выдается на экран, как в случае с printf , или копируется в строку, как в случае со sprintf . Дальше ход рассуждений у вас верный.
2
|
0 / 0 / 0
Регистрация: 30.11.2016
Сообщений: 2
|
|
30.11.2016, 12:02 [ТС] | 4 |
Всем спасибо.
С MD5 тоже разобрался. Изначально смущал третий (в функции второй) параметр. Но разобрался. Еще раз спасибо
0
|
30.11.2016, 12:02 | |
30.11.2016, 12:02 | |
Помогаю со студенческими работами здесь
4
Объясните смысл строчки кода Объясните смысл строчки кода Объясните смысл данного кода Объясните построчно смысл кода пожалуйста Объясните смысл строк в коде (~20 строк) Объясните, в чем смысл данного куска кода? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |