Как всегда, используйте sizeof
, когда у вас есть такая возможность. Используя встроенный оператор sizeof
, вы просите компилятор вычислить размер переменной, а не указывать его самостоятельно. Это снижает риск появления ошибок, когда размер фактической переменной отличается от того, что вы думаете.
Итак, вместо того, чтобы делать
#define BUFSIZE 1500
char buffer[BUFSIZE];
int n = read(sock, buffer, BUFSIZE);
вы действительно должны использовать
char buffer[1500];
int n = read(sock, buffer, sizeof buffer);
Обратите внимание, что вам не нужно заключать в скобки аргумент sizeof, если аргумент не является именем типа.