函数原型:
*key_t ftok(const char fname, int id);
功能:系统建立IPC通讯(如消息队列,共享内存时)必须指定一个ID值。通常情况下,该id值通过ftok函数得到
返回值:成功返回一个key_t值,失败返回-1
参数说明:
- fname:就是你指定的文件名(已经存在的文件名),一般使用当前目录
- id:子序号。(虽然为int型,但是只有8个比特被使用,也就是0—255)
在一般的UNIX实现中,是将文件的索引节点号去取出(查询文件索引节点号的方法是:ls -i)。前面加上子序号得到key_t的返回值。例如:指定文件的索引节点号为65538,换算成16进制为0x010002,而你指定的id值为38,换算成16进制为0x26,则最后key_t的返回值为:0x26010002
demo:
#include <stdio.h>