Когда я прочитал BlueZ исходный код, я часто вижу char
массивы, определенные как это:Зачем определять 0 как первый элемент массива char в C?
// bluez/android/sco-msg.h
static const char BLUEZ_SCO_SK_PATH[] = "\0bluez_sco_socket";
Что хорошего в том, чтобы определить первый элемент в качестве \0
?
Он эффективно скрывает строку от печати или копирования со стандартными функциями - каково бы ни было намерение. – tofro
В Bluez этот массив типов используется как: struct sockaddr_un addr; memcpy (addr.sun_path, BLUEZ_SCO_SK_PATH, sizeof (BLUEZ_SCO_SK_PATH)); Что будет выглядеть путь сокета,/dev/socket /? Bluez_sco_socket? или его нельзя увидеть с помощью команды «ls»? – user1923105