gpt4 book ai didi

C:如何shmat一个结构?

转载 作者:太空宇宙 更新时间:2023-11-03 23:53:27 25 4
gpt4 key购买 nike

我有一个看起来像这样的结构:

struct data {
int code;
char name[25], fnum[8];
};

然后我尝试像这样将它用作共享内存:

int dataSID = shmget(100002, sizeof(struct data), IPC_CREAT | 0666);

并像这样附加它:

struct data *com = shmat(dataSID, 0, 0);

最后我尝试像这样填充值:

(*com).code = 1;
scanf("%s", (*com).name);

我在 scanf 上遇到段错误。

我做错了什么?

shmat 是否为结构正确分配了内存?

最佳答案

对于字符数组,您始终可以使用 strcpy()strncpy()。其中推荐使用strncpy(),避免缓冲区溢出。

关于C:如何shmat一个结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14218615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com