memset()
void *memset(void *s, int ch, size_t n);
功能: 将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值.
例如:char buffer[20];
memset(buffer,0,sizeof(char)*20);
memcpy(buffer,"123",3);
//这一条的memset并不多余,memcpy并没把buffer全部覆盖,如果没有memset,用printf打印buffer会有乱码甚至会出现段错误。
//如果此处是strcpy(buffer,"123");便不用memset, strcpy虽然不会覆盖buffer但是会拷贝字符串结束符
ftok()
消息队列和有名管道一样,都是文件,因此为获取消息队列的键值,我们可以通过ftok(函数)将文件转化为键值
#include<sys/types.h>
#include<sys/ipc.h>
key_t ftok(char*pathname, int id)
功能:返回文件名对应的键值
pathname:文件名(含路径)
id:项目名(不为0即可)