This question already has answers here:
How to print types of unknown size like ino_t?
(4 个回答)
1年前关闭。
任何人都知道 ino_t 类型的占位符是什么?
我正在尝试使用 printf 将其打印出来,并尝试了 %d、%i、%s 和其他,但没有工作。
请假设我的其他代码是正确的。
大多数示例仅显示如何打印名称,而不显示 inode 编号。
我也搜索了很多地方。
提前致谢
(4 个回答)
1年前关闭。
任何人都知道 ino_t 类型的占位符是什么?
我正在尝试使用 printf 将其打印出来,并尝试了 %d、%i、%s 和其他,但没有工作。
printf( " file name = %s, i-node number=**%d**\n", direntp->d_name, direntp->d_ino);
warning: format ‘%i’ expects argument of type ‘int’, but argument 3 has type ‘__ino_t’ [-Wformat]
请假设我的其他代码是正确的。
大多数示例仅显示如何打印名称,而不显示 inode 编号。
我也搜索了很多地方。
提前致谢
最佳答案
如果您知道类型是整数,则可以将其转换为 unsigned long long
,并使用 %llu
。
printf( " file name = %s, i-node number=%llu\n",
direntp->d_name, (unsigned long long)direntp->d_ino);
关于c - ino_t 的占位符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19179484/
10-11 21:40