如何用ftok来产生相关的key_t值
来源:互联网 发布:js购物车数量加减代码 编辑:程序博客网 时间:2024/05/17 08:28
在System V中,我们经常用用key_t的值来创建或者打开信号量,共享内存和消息队列。这个在IPC的环境中十分的重要,比如说,服务器创建了一个消息队列,等待 客户机发送请求。那么如何创建或者打开已有的消息队列呢?一般而言,我们对于服务器使用的路径和项目id(proj_id)是已知的,所以客户机可以获取 相同的key来打开 消息队列并进行操作。下面就是ftok的使用原型:
# include <sys/types.h>
# include <sys/ipc.h>
key_t ftok(const char *pathname, int proj_id);
注意:
1)pathname一定要在系统中存在
2)pathname一定是使用进程能够访问的
3)proj_id是一个1-255之间的一个整数值,典型的值是一个ASCII值。
当成功执行的时候,一个key_t值将会被返回,否则-1被返回。我们可以使用errno来确定具体的错误信息(对于errno的相关信息,请参考http://blog.csdn.net/hello_wyq/archive/2006/08/01/1006216.aspx ),如果我们很懒惰的话,不妨就使用perror函数来答应对应的出错字符信息。
下面的程序简单的演示和打印如何使用ftok及其对应值
# include <sys/types.h>
# include <sys/ipc.h>
key_t ftok(const char *pathname, int proj_id);
注意:
1)pathname一定要在系统中存在
2)pathname一定是使用进程能够访问的
3)proj_id是一个1-255之间的一个整数值,典型的值是一个ASCII值。
当成功执行的时候,一个key_t值将会被返回,否则-1被返回。我们可以使用errno来确定具体的错误信息(对于errno的相关信息,请参考http://blog.csdn.net/hello_wyq/archive/2006/08/01/1006216.aspx ),如果我们很懒惰的话,不妨就使用perror函数来答应对应的出错字符信息。
下面的程序简单的演示和打印如何使用ftok及其对应值
#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
int main( void )
{
for ( int i = 1; i < 256; ++ i )
printf( "key = %ul/n", ftok( "/tmp", i ) );
return 0;
}
- 如何用ftok来产生相关的key_t值
- 如何用ftok来产生相关的key_t值
- 如何用ftok来产生相关的key_t值
- key_t键和ftok函数(转)
- 【IPC通信】key_t键和ftok函数
- 【IPC通信】key_t键和ftok函数
- 【IPC通信】key_t键和ftok函数
- 【IPC通信】key_t键和ftok函数
- 【IPC通信】key_t键和ftok函数
- IPC-- key关键字的产生 ftok函数
- 如何用数据库的数据动态产生TreeView
- 如何用c语言产生一定范围内的随机数?
- 如何用JAVA产生符合正态分布的随机数
- 在Linux系统下,如果程序中出现segment fault,如何可以让系统产生core dump文件?如何用gdb来跟踪出错的地方?
- 如何用IM来营销?
- key_t IPC键和ftok函数详解和剖析
- 如何用ASP来获取网卡的MAC地址
- 如何用GetWindow函数来列举桌面上的窗口
- Eclipse 正则插件
- ajax实现session不过期
- python读取文件小结
- 关于五个经典实例错误解析
- AppStore 如何增加销售的心得
- 如何用ftok来产生相关的key_t值
- 反转在整数字节的顺序
- 约瑟夫环链表解法
- UITextView和UITextField的placeholder,键盘隐藏,键盘换行变完成字样
- poj3041 Asteroids
- iOS CGPath提升阴影性能
- Android数据库的SQLite增删改查
- 动态使用proto文件
- AIX下用nmon进行监控和分析实战