0
을 생성하십시오.C : 어떤 이유로 헤더가 제대로 생성되지 않아 버퍼
파일 이름과 응답 코드 200과 함께 연결된 소켓을 보내고 있습니다. 그러나이 메서드는 아무 것도 반환하지 않습니다.
왜?
void generate_header(int sock, char* filename, int response_code) {
int i = 0;
char buffer[BUFLEN];
if (response_code == 200) {
strncpy(buffer, "HTTP/1.1 200 OK\n", sizeof(buffer));
} else if (response_code == 404) {
} else if (response_code == 400) {
} else {
}
strncpy(buffer, "Content-Type: text/html\n", sizeof(buffer) - strlen(buffer) - 1);
strncpy(buffer, "Connection: close\n", sizeof(buffer) - strlen(buffer) - 1);
strncpy(buffer, "\n", sizeof(buffer) - strlen(buffer) - 1);
write(sock, buffer, strlen(buffer));
}
첫 번째'strncpy' 다음에'strncat'이 필요합니다. – Roddy
그랬습니다! :) 다시 부주의합니다. – chuckfinley
BTW에서,'for' 루프는'printf ("% s", buffer)' –