我正在尝试用 C 实现一个非常基本的服务器,其中一部分是构建 HTTP 标头。为此,我编写了一个名为 header_builder 的类,它基本上为我构建了标题。该类最基本的方法之一是append_header_line,如下所示:
void append_header_line( const char *line, char *hdr ) {
printf("Adding header line\n");
strcat( hdr, line );
printf("Line added. Adding ending.\n");
strcat( hdr, "\r\n" );
printf("Success\n");
}
它应该做的就是将“line”参数添加到“hdr”参数的末尾,然后将“\r\n”添加到所有参数的末尾。问题是第一个 strcat 调用永远不会退出。当我运行这段代码时,它所做的只是说:
添加标题行
这意味着以下几行永远不会执行,我不知道为什么。有什么想法吗?