我今天开始研究命名管道。我读到要创建新的命名管道,我必须使用以下功能:mkfifo (const char* nom, **mode_t mode**);

例:

if (mkfifo(("essai.fifo"), **0760**) == -1)
{

fprintf(stderr, "Can't create it");

exit(EXIT_FAILURE);

}


我的问题是,为什么在第二个参数中我们以“ 0”开始(0760)
我知道7将所有权限授予所有者
6表示小组可以读写
另一个没有任何权限

最佳答案

760是小数(以10为底)

0760 [前导0]是一个八进制数字(以8为底)

0x0760 [前导0x]是十六进制数字(以16为底)

前导0实际上不是数字的一部分,只是表明它是八进制的,而不是十进制的。

07-24 21:44