, 나는 함께 것으로 나타났습니다 :문자 배열
char buffer[4]; memset(buffer, 0, 4); recv(socket, buffer, 4, 0);
내가받을
mesgx
"mesg"는 임의의 문자가 추가 된 상태로 보내집니다. 내가 대신
char * method = (char *) malloc(4); memset(buffer, 0, 4); recv(socket, buffer, 4, 0);
를 사용하는 경우
, 내가받을
중 mesg
그래서 내 문자열에 추가 어떤 임의의 물건이 없습니다. 나는 char [5]를 사용하면 잘 작동한다는 것을 알았지 만 왜 그 이유는 모르겠다. malloc (4)는 실제로 5 바이트를 할당합니까? 다섯 번째는 NUL입니까?
나는 그다지 많이 생각하지 않았지만 왜 malloc과 함께 작동합니까? – fresskoma