QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 732|回复: 4

我弱弱的问:%#o是什么输出格式?

[复制链接]
发表于 2004-4-21 16:51:22 | 显示全部楼层 |阅读模式
在<GNU/LINUX编程指南>里
fstat()介绍中
printf("    MODE: %#o\n", mode & ~(S_IFMT));
顺便再问:S_IFMT是什么?
发表于 2004-4-22 18:00:02 | 显示全部楼层
#是标识字符,后接不同的转换字符(o,x,X,g等)表示不同的意思。你这个好像是在打印的八进制前强制打印一个0(zero)。
S_IFMT指出哪些位包含文件类型信息。
回复

使用道具 举报

 楼主| 发表于 2004-4-22 19:41:49 | 显示全部楼层
谢谢!
回复

使用道具 举报

发表于 2004-4-22 20:25:17 | 显示全部楼层
试了一下,加个#表示要输出数据得进制,如果输出16得话
那么%#o得话,就输出020,020前面得0表示他是8进制
%#x得话,就输出0x10,前面得0x表示他是16进制
回复

使用道具 举报

发表于 2004-4-22 20:30:53 | 显示全部楼层
这才具有hacker的探索精神吗!

注:大家对hacker比较敏感啊,为了避免被骂(你也算hacker?)我给出此外的hacker定义:取自Merriam-Webster's Collegiate Dictionary, 11ed ,page559。
hacker(1)ne that hacks   (hack(item1 4a) :to write computer programs for enjoyment。
而不是:
hacker(3):an expert at programming and solving problems with a computer(Eric式的人物)
及:
hacker(4):a person who illegally gains access to and sometimes tampers with information in a computer system。(米特尼克式的人物)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 11:20 , Processed in 0.052731 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表