在 snprintf 中使用长整数不会超过 65k
using a long integer in in snprintf will not go over 65k
我正在尝试使用 snprintf 命令格式化和显示零填充的长整数
long position = 0; // defined elsewhere in the program
long micronPerStep = 5;
long adjustedPosition = (position / micronsPerStep) * 25;
char txt[17];
int n = snprintf(txt,16,"%09u ",adjustedPosition);
adjustedPosition 的范围是-1 到 99999999。我试过 d 和 u,但数字在 65,xxx 左右变为负数。我做错了什么???
%u
为打印格式代码unsigned int
.
如果要打印unsigned long
,则需要%lu
。
我正在尝试使用 snprintf 命令格式化和显示零填充的长整数
long position = 0; // defined elsewhere in the program
long micronPerStep = 5;
long adjustedPosition = (position / micronsPerStep) * 25;
char txt[17];
int n = snprintf(txt,16,"%09u ",adjustedPosition);
adjustedPosition 的范围是-1 到 99999999。我试过 d 和 u,但数字在 65,xxx 左右变为负数。我做错了什么???
%u
为打印格式代码unsigned int
.
如果要打印unsigned long
,则需要%lu
。