size_t定义了一个unsigned integer,但是具体所占用字节数依赖系统位数,如何才能可移植地打印size_t?

答案是:%zu格式化字符串。

示例:

size_t val = get_the_value();
printf("%zu",val);

z是长度指定符(length specifier),表示参数长度是size_t的长度。

英文说明:

z  --- A following integer conversion corresponds to a size_t or ssize_t argument.

对于较老的库(C99之前的)可以使用如下方式:

printf("value: %" PRId32, some_int32_t);printf("value: %" PRIu16, some_uint16_t);

在inttypes.h头文件中可以找到。

但是还是建议使用:unsigned long long 或者 long long ,然后使用%llu 或者 %lld 格式.

最后,附上z限定符的一般使用示例:

size_t x = ...;ssize_t y = ...;printf("%zu\n", x); // prints as unsigned decimalprintf("%zx\n", x); // prints as hexprintf("%zd\n", y); // prints as signed decimal

关于length specifier相关推荐

  1. C语言中within函数,vfprintf() - C语言库函数

    C库函数 int vfprintf(FILE *stream, const char *format, va_list arg)发送格式化输出到一个流使用传递给它的参数列表. 声明 以下是vfprin ...

  2. C语言中positive用法,sprintf - C语言库函数

    C库类 的 sprintf - C语言库函数 C库函数int sprintf(char *str, const char *format, ...)发送str 指向一个字符串的格式化输出. 声明 以下 ...

  3. c语言函数 fprintf()(向文件写入格式化字符串)

    需包含头文件<stdio.h> 文章目录 描述 声明 参数 返回值 实例 描述 C 库函数 int fprintf(FILE *stream, const char *format, -) ...

  4. C语言sprintf函数(发送格式化输出到 str 所指向的字符串)(format 标签属性)(字符串拼接)(数字转字符串、浮点数转字符串)

    C语言函数 snprintf()(发送有限字符格式化输出到 str 所指向的字符串)(字符串拼接) 文章目录 描述 声明 参数 返回值 实例 20220124 上面的实例太简陋了,我们拓展一下 实例1 ...

  5. 【⛔C语言最熟悉的陌生人の你所不知道的scanf⛔】

    引子 CSDN最近搞了一个问答板块,我也没怎么关注,但是前几天收到一个广告,点进一看,回答首次被采纳,得现金红包!还有这种好事!想想我CSDN钱包里5块不到的余额,离100块的提现门槛的距离又近了一步 ...

  6. 整理:C++中sprintf()函数的使用详解

    资料一 描述 C 库函数 int sprintf(char *str, const char *format, ...) 发送格式化输出到 str 所指向的字符串. 声明 下面是 sprintf() ...

  7. Qt翻译相关类之QDataStream

    QDataStream Class QDataStream  类提供的二进制数据的序列化到  QIODevice中. 更多... Header: #include <QDataStream> ...

  8. C经典面试题之深入解析字符串拷贝的sprintf、strcpy和memcpy使用与区别

    一.sprintf ① sprintf 定义 sprintf 指的是字符串格式化命令,是把格式化的数据写入某个字符串中,即发送格式化输出到 string 所指向的字符串,直到出现字符串结束符 '\0' ...

  9. 区分多种类型的输入输出

    区分多种类型的输入输出 文章目录 区分多种类型的输入输出 **1.printf函数** **2.sprintf函数** **3.fprintf函数** **4.snprintf函数** **5.wri ...

最新文章

  1. 数据结构与算法(2-2)线性表之链式存储(单链表、静态链表、循环链表、双向循环链表)
  2. Unity从头开始开发增强现实(AR)游戏学习教程
  3. 系统优化怎么做-Tomcat优化
  4. ActivityManagerService简要分析
  5. 基于zbus的MySQL透明代理(100行)
  6. Map-Reduce的逻辑过程
  7. stella forum v1.2 的初始设计模型
  8. System类的概述和方法使用
  9. 在linux下用tomcat部署java web项目的过程与注意事项(转)
  10. oracle数据库表空间追加数据库文件方法
  11. 【题解】洛谷P2914[USACO08OCT]断电Power Failure
  12. FR模板参数在SQL中或单元格过滤的写法
  13. 【笔记总结】高中生物——【选一 Ⅰ】传统发酵技术的应用
  14. python挑选以元音字母开头的单词,在Python中查找以特定字母开头的列表元素
  15. Python实现ATM
  16. 第一序列任小粟的能力_第一序列全本免费阅读-第一序列小说精校版
  17. 本地图片保存映射到Markdown文件中
  18. js的老生代垃圾回收
  19. [小米]2015小米校招之回文数判断
  20. 大萧条时期让企业起死回生的5个秘诀|请转发给你的老板

热门文章

  1. vscode安装哪个版本更好
  2. 牛小刚的Spring自学笔记之IOC
  3. 字幕助手 FastTitle 0.0.3 版本发布
  4. 关于多卡Android设备获取手机号的研究
  5. Vuex 之二:3种拿到 state 中数据并执行 getters 中方法的过程与实例剖析
  6. 一行代码教你撩妹手到擒来❤html+css+js烟花告白3D相册(含音乐+可自定义文字)520表白/七夕情人节/求婚
  7. 360ie7模式下的一个兼容
  8. 公积金贷款额度根据什么而定
  9. php curl_setopt抓取内容,PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
  10. 如何将卫星影像或者航拍影像叠加到CAD设计图上(Auto CAD版)