Я читал несколько статей по этой теме, но некоторые говорят, что способ, которым это должно быть сделано, зависит от архитектуры и системы, в которой вы находитесь (Windows/Linux), так есть ли правильный способ сделать эту платформу независимой?Правильный способ scanf и printf переменная size_t (независимая от платформы)
0
A
ответ
3
%zu
для size_t
с
%z
для длины и%u
для беззнаковое
Подробности можно найти на сайте
7.21.6.1 Функция fprintf
6 Символы флагов и их значения:
...
г Указывает, что следующий д, I, O, и, х, или Х спецификатор преобразования относится к size_t или соответствующий признак целочисленного типа; или что следующий указатель преобразования n применяется к указателю на целочисленный тип со знаком, соответствующий аргументу size_t.
[C99 определяет 'zu' спецификатор формата] (http://en.cppreference.com/w/c/io/fprintf) – StoryTeller
Я думаю, что Microsoft имеет * наконец * догнал со стандартным'% цу 'в VS2015. –
Используйте '"% zu "', '"% zo ",' "% zx" 'или' '% zX" 'в зависимости от того, какую базу вы предпочитаете. – chux