Я сейчас читаю книгу (Программирование под Socket в Linux - ПО ПРИМЕРУ) и на стр. 45 Автор использует странное использование (вызов) strncpy
, и я не могу понять, почему оно также работает:
strncpy( adr_unix.sun_path,
pth_unix,
sizeof( adr_unix.sun_path ) - 1 ) [sizeof adr_unix.sun_path - 1] = 0;
Я ожидал, что это должно быть так:
strncpy( adr_unix.sun_path,
pth_unix,
sizeof( adr_unix.sun_path ) - 1 );
adr_unix.sun_path[sizeof adr_unix.sun_path - 1] = 0;
Какой код используется здесь в третьем аргументе strncpy
?:
sizeof( adr_unix.sun_path - 1 ) ) [sizeof adr_unix.sun_path - 1] = 0;