ftok函数原型:key_t ftok(const char *pathname, int proj_id)
键值=ftok函数的第二个参数在十六进制形式表示下的低8位bit(注意这里是bit)所表示的值+ftok函数的第一个参数即指定文件的设备号(以十六进制表示)的低2位值+指定文件的inode号(以十六进制表示)的低4位值
int main(){
//获取键值,这里为了方便,直接将第二个
//参数赋成十六进制
key_t
key=ftok("my_test",0x12345678);
//正常打印键值
printf("%d\n",key);//2013357355
//将键值以十六进制的形式打印
printf("%x\n",key);//7801652b
//用stat函数获取指定文件的文件信息
struct stat my_stat;
stat("my_test",&my_stat);
//找到文件信息中的设备号st_dev,并将
//其以十六进制的形式打印
printf("dev:%lx\n",my_stat.st_dev);//dev:801
//找到文件信息中的inode号st_ino,并
//将其以十六进制的形式打印
printf("ino:%lx\n",my_stat.st_ino);//ino:1c652b
return 0;
}
如上7801652b=78+01+652b