消息队列函数原型

在建立IPC通讯时(如消息队列,共享内存)必须建立一个ID值。通常情况下,这个ID值由ftok函数得到

#inlcude <sys/types.h>
#include <sys/ipc.h>

key_t ftok(const char *pathname, int proj_id);

 返回值:成功返回键值,失败-1。

pathname:现有文件路径
proj_id:低8位整型

假如要确保key_t值不变,要目确保ftok的文档不被删除 ,要么不用ftok,指定一个固定的key_t值。

在linux下通过ftok()产生ipc键值、且ftok()与配置文件相关,则在更改了配置文件后必须将应用重起。否则将导致不可预料的后果!

1 #include <stdio.h>
2 #include <sys/types.h>
3 #include <sys/ipc.h>
4 
5 int main()
6 {
7         printf("key=%0x\n", ftok("aaa.txt", 1000));
8         return 0;
9 }
ftok

相关文章: