【发布时间】:2016-07-11 10:11:20
【问题描述】:
当我阅读BlueZ 源代码时,我经常看到char 数组是这样定义的:
// bluez/android/sco-msg.h
static const char BLUEZ_SCO_SK_PATH[] = "\0bluez_sco_socket";
将第一个元素定义为\0有什么好处?
【问题讨论】:
-
它有效地隐藏了字符串以防止使用标准函数打印或复制 - 无论意图是什么。
-
在 Bluez 中,这种样式数组的使用如下: struct sockaddr_un addr; memcpy(addr.sun_path, BLUEZ_SCO_SK_PATH, sizeof(BLUEZ_SCO_SK_PATH));套接字路径会是什么样子, /dev/socket/?bluez_sco_socket ?或者使用“ls”命令看不到?