需要创建一个格式为以下内容的字符串,并将其放置在单个缓冲区[1000]中。请注意,\x00是空终止符。
我该如何做到这一点?
@/foo\x00ACTION=add\x00SUBSYSTEM=block\x00DEVPATH=/devices/platform/goldfish_mmc.0\x00MAJOR=command\x00MINOR=1\x00DEVTYPE=harder\x00PARTN=1
实际上,我需要将以下以空字符结尾的字符串打包到单个缓冲区中。
@/foo
ACTION=add
SUBSYSTEM=block
DEVPATH=/devices/platform/goldfish_mmc.0
MAJOR=command
MINOR=1
DEVTYPE=harder
PARTN=1
我该如何做到这一点?
"foo\x00ACTION"
不起作用,因为在这里\x00AC
被视为单个字符(A 和 C 也是十六进制数字),如果这让你感到困惑。 - Ctx\0
代替\x00
,这样就避免了\x00AC
被视为宽字符的问题。事实上,\0
是指定“NUL”的首选C方式。 - Ahmed Masud\000
,因为当你有两个字符串 "abc" "123" 时,"abc\0123"
的结果并非预期。 - Ctx