Memory 将参数中的字符串添加到共享内存
我需要从参数(例如../a.out abcxyz)添加到共享内存字符串中。我写的代码,但它不添加字符串或不显示字符串。原因是什么Memory 将参数中的字符串添加到共享内存,memory,shared,Memory,Shared,我需要从参数(例如../a.out abcxyz)添加到共享内存字符串中。我写的代码,但它不添加字符串或不显示字符串。原因是什么 int main(int argc, char **argv){ int shmid; char *buf; shmid = shmget(KEY, 5, IPC_CREAT | 0600); buf = (char *)shmat(shmid, NULL, 0); *buf = argv[1];
int main(int argc, char **argv){
int shmid;
char *buf;
shmid = shmget(KEY, 5, IPC_CREAT | 0600);
buf = (char *)shmat(shmid, NULL, 0);
*buf = argv[1];
printf("\n%c\n", buf);
return 0;
}
您正在复制字符串,因此不能仅使用赋值-您需要:
#包括
...
strcpy(buf,argv[1]);
#include <string.h>
...
strcpy(buf, argv[1]);