Вопросы с тегом «format-specifiers»



8
Как напечатать «unsigned long» в C?
Я никогда не могу понять, как напечатать unsigned longтип данных в C. Предположим , что unsigned_fooэто unsigned long, то я стараюсь: printf("%lu\n", unsigned_foo) printf("%du\n", unsigned_foo) printf("%ud\n", unsigned_foo) printf("%ll\n", unsigned_foo) printf("%ld\n", unsigned_foo) printf("%dl\n", unsigned_foo) И все они печатают какое-то -123123123число вместо того, unsigned longчто у меня есть.




11
Почему printf с одним аргументом (без спецификаторов преобразования) устарел?
В книге, которую я читаю, написано, что printfиспользование одного аргумента (без спецификаторов преобразования) не рекомендуется. Рекомендуется заменить printf("Hello World!"); с участием puts("Hello World!"); или printf("%s", "Hello World!"); Может кто подскажет, почему printf("Hello World!");не так? В книге написано, что в нем есть уязвимости. Что это за уязвимости?

3
Независимые от платформы спецификаторы формата size_t в c?
Я хочу распечатать переменную типа size_tC, но похоже, что size_tона привязана к разным типам переменных на разных архитектурах. Например, на одной машине (64-битной) следующий код не выдает никаких предупреждений: size_t size = 1; printf("the size is %ld", size); но на моей другой машине (32-разрядной) приведенный выше код выдает следующее предупреждающее …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.