需要制作具有以下格式的字符串并将其放入单个缓冲区 [1000]。请注意,\x00 是空终止符。
@/foo\x00ACTION=add\x00SUBSYSTEM=block\x00DEVPATH=/devices/platform/goldfish_mmc.0\x00MAJOR=command\x00MINOR=1\x00DEVTYPE=harder\x00PARTN=1
所以本质上我需要将以下以 null 结尾的字符串打包到一个缓冲区中
@/foo
ACTION=add
SUBSYSTEM=block
DEVPATH=/devices/platform/goldfish_mmc.0
MAJOR=command
MINOR=1
DEVTYPE=harder
PARTN=1
我该怎么做呢?
最佳答案
您需要一次将每个字符串复制一个,跟踪上一次复制停止的位置并紧接着开始复制下一个。
char *p = buffer;
strcpy(p, "@/foo");
p += strlen(p) + 1;
strcpy(p, "ACTION=add");
p += strlen(p) + 1;
...
关于c - C中单个缓冲区中的多个空终止字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47538241/