Лучшие практики при смешивании строк символов разной подписи - PullRequest
0 голосов
/ 17 октября 2019

Большинство строковых функций в стандартной библиотеке C работают со знаковыми указателями, такими как char *mystring;. Однако другие библиотеки (такие как openssl и sqlite) имеют функции, определенные с помощью указателей на символы без знака (unsigned char *mystring).

Если у вас есть строка, которую необходимо использовать с обоими типами функций, лучше объявитьстроку как unsigned char *, затем приведите ее к char * при работе с такими функциями, как strlen, или вы должны объявить их как char *, а затем привести их как unsigned при работе с функциями openssl или sqlite?

Код, кажется, работает одинаково в любом случае, поскольку ни в одном из случаев вы не выполняете математические операции над отдельными символами в строке. Просто интересно, какой путь будет «чище»?

Кроме того, он работает без приведения, но делает -Wall несчастным.

...