Есть ли простой способ конвертировать между char
и unsigned char
, если вы не знаете настройки по умолчанию на компьютере, на котором работает ваш код? (на большинстве архитектур, char
подписан по умолчанию, и, таким образом, имеет диапазон от -128
до +127
. На некоторых других архитектур, таких как ARM, char
беззнаковым по умолчанию и имеет диапазон от 0 до 255) Ищу для метод, чтобы выбрать правильную подпись или преобразовать между ними прозрачно, предпочтительно тот, который не включает слишком много шагов, поскольку мне нужно будет сделать это для всех элементов в массиве.Тип «char» в C++
Использование определения предварительного процессора позволит установить его в начале моего кода.
Как указано явный вид char
, такой как signed char
или unsigned char
, так как только char
является переменной между платформами.
Причина в том, что есть функции библиотеки, которые я хотел бы использовать (например, strtol
), которые принимают char as an argument
, но не unsigned char
.
Я ищу несколько советов или, возможно, некоторые указатели в правильном направлении относительно того, что было бы эффективным способом сделать это, чтобы сделать код переносимым, поскольку я намерен запустить код на нескольких машинах с разными значениями по умолчанию настройки для char
.
Пожалуйста, задайте один вопрос на вопрос, я думаю, что в его нынешнем виде на это невозможно ответить. –
Добро пожаловать в StackOverflow!Обратите внимание, что вопрос о StackOverflow должен отвечать конкретными ссылками, а не мнениями - по этой причине следует избегать вопроса «должен ли я делать X» или «что такое хороший ресурс для Y». Также обратите внимание, что один вопрос должен охватывать одну конкретную проблему. – user4815162342
Извините, я не хотел, чтобы меня называли спамом, если я вдруг задаю 6 вопросов. :(И я бы спросил в чате, но у меня нет репутации. –