最後に出現したものを見つけて、\r\n\r\n
それより前のすべてを削除しようとしています(それを含む)。ソケットを作成してファイルをダウンロードすると、ファイルが保存されます。HTTP ヘッダーはファイルに保存されます (16 進エディターによると\r\n\r\n
存在します)。しかしstrstr
、MSDNrecv
がcharを返すため、を使用してそれを見つけることができないように見えるので、それを見つけることができるはずですか?
while ((tmpres = recv(sock, buf, BUFSIZ, 0)) > 0)
{
char *p = strstr(buf, "\r\n\r\n");
printf("%s", p);
exit(1);
if (fwrite(buf, 1, tmpres, fp) != tmpres) {
printf("Error writing buffer");
exit(1);
}
}
それでも、strstr は null を返しますか?
0D0A0D0A がファイルに明確に書き込まれるため、何が起こっているのかわかりません。