消息队列函数原型
在建立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 }