翻译自Ubuntu 19版本下的Linux Programmer's Manual

  1. 函数名:ftok – 将一个路径名和一个对象标识符转换为System V IPC键值。
  2. 概要:
    #include <sys/types.h>#include <sys/ipc.h>key_t ftok(const char *pathname, int proj_id);
    
  3. 描述:
      函数的作用是:使用指定以pathname(必须引用现有的、可访问的文件)命名的文件标识和proj_id(必须非零)的8位最小有效的整型值,生成一个以key_t为类型的System V IPC键值。适合与msgget(2)、semget(2)或shmget(2)一起使用。
      当使用相同的proj_id值时,对于所有以pathname命名的相同文件,结果值是相同的。当(同时存在的)pathname或项目proj_id不同时,返回的值应该不同。
      换另一句话说,这个函数的作用是为了能让多个进程通信(消息队列、共享内存),需要使用相同的键值来让多个进程引用同一块内存区域。
  4. 返回值:
      成功时,将返回生成的key_t值。失败时返回-1,errno以stat(2)的错误值来表示。
  5. 注意:
      在一些老旧的系统中,原型是:
         key_t ftok(char *pathname, char proj_id);
      现在,proj_id是一个int型,但仍然只有8位被使用。典型的用法是将一个ASCII码作为proj_id,这就是为什么当proj_id为0时,该行为被说成未定义。

Linux -- ftok函数相关推荐

  1. linux ftok函数

    系统建立IPC通讯(如消息队列.共享内存时)必须指定一个ID值.通常情况下,该id值通过ftok函数得到. ftok原型如下: key_t ftok( char * fname, int id ) f ...

  2. linux ftok函数的使用

    ftok API #include <sys/types.h> #include <sys/ipc.h> key_t ftok(const char *pathname, in ...

  3. ftok file php,Linux和PHP中的ftok函数返回值不一致问题跟踪

    在IPC中中,我们经常事情ftok函数来获取key,来作为获取消息队列id.共享存储标识和信号量ID.在项目中使用了php进程和linux进程通信,采用了消息队列的方式,但是结果表现为php中的fto ...

  4. linux C -- ftok函数

    链接: linux C学习目录 原文链接:https://blog.csdn.net/u013485792/article/details/50764224 关于ftok函数,先不去了解它的作用来先说 ...

  5. linux中ftok的作用,Unix/Linux编程之ftok函数用法

    linux 中ftok函数的用法 1.函数作用: 系统建立IPC通讯(如消息队列.共享内存时)必须指定一个ID值.通常情况下,该id值通过ftok函数得到 2.函数原型: #include #incl ...

  6. Linux下的ftok()函数

    linux ftok()函数 - 清清飞扬 - 博客园 (cnblogs.com) 系统建立IPC通讯(如消息队列.共享内存时)必须指定一个ID值.通常情况下,该id值通过ftok函数得到. ftok ...

  7. linux ftok()函数

    linux ftok()函数 系统建立IPC通讯(如消息队列.共享内存时)必须指定一个ID值.通常情况下,该id值通过ftok函数得到. ftok原型如下: key_t ftok( char * fn ...

  8. linux 共享内存函数封装,linux ftok()函数 --多进程IPC之共享内存

    系统创建IPC通信(如消息队列.共享内存时)必须指定一个ID值.一般状况下,该id值经过ftok函数获得. ftok原型以下: key_t ftok( char * fname, int id ) f ...

  9. linux环境编程-- ftok()函数

    系统建立IPC通讯(如消息队列.共享内存时)必须指定一个ID值.通常情况下,该id值通过ftok函数得到. ftok原型如下: key_t ftok( char * fname, int id ) f ...

最新文章

  1. 在C#中,如何将一种编码的字符串转换成另外一种编码。
  2. Java高级技术笔记
  3. 利用XSLT把ADO记录集转换成XML
  4. BeagleBone Black项目实训手册(大学霸内部资料)
  5. tf.expand_dims 来增加维度
  6. 【小白学PyTorch】8.实战之MNIST小试牛刀
  7. 「offer来了」保姆级巩固你的js知识体系(4.0w字)
  8. 中lisp文件_关于 Emacs 中的变量你需要知道的事情 | Linux 中国
  9. 二倍图三倍图什么意思_香港读研,图什么?
  10. python函数定义及调用-python 函数定义及调用
  11. 递归创建多级文件目录(PHP)
  12. twitter注册不了_如何阻止Twitter重点阻止不相关的通知
  13. 小小总结之渗透测试面试题以及答案
  14. SpringMVC整合activiti Modeler
  15. 安卓iccid_A40i Android7.1 读取ICCID错误解决方案
  16. matlab获取地图边界,科学网—提取百度地图县域的矢量边界 - 张乐乐的博文
  17. 为什么要用二次验证码(谷歌验证)?
  18. 面试 以及面试中对公司更好的了解
  19. 电游入侵传统教育,用练级学习
  20. 函数对称性常见公式_函数的各种对称性

热门文章

  1. Unity ShareSDK接入QQ登陆微信登陆
  2. 关闭浏览器窗口的时候,如何清空localStorage的数据
  3. Unity制作即时战略游戏毕设
  4. JAVA阅读书籍推荐
  5. ORB_SLAM错误总结
  6. 【MySQL】win10下MySQL的安装与后事(纯文字版)
  7. python爬取酒店信息_python selenium爬取去哪儿网的酒店信息(详细步骤及代码实现)...
  8. 【图块剪裁】XC(图块剪裁XCLIP)
  9. muduo网络库设计与实现(二)
  10. 新能源汽车行业会员管理体系如何打造?