I am writing a webserver in C++, using Winsock. It is complete, except for one thing.

Global:
char HtmlWhole[1000];

Code:
int SendFile(char *FileName)
{
	HANDLE hFile;
	DWORD dwNumRead;
	BOOL bFile;
	char FilePath[1000];
	char Response[1000];
	sprintf(FilePath, "c:\\webserver\\%s", FileName);

	hFile = CreateFile(FilePath, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
	bFile = ReadFile(hFile, HtmlWhole, sizeof(DWORD)*256, &dwNumRead,NULL);
	bFile = CloseHandle(hFile);

	sprintf(Response, "HTTP/1.1 200 OK\r\nDate: Sun, 05 Jun 2005 22:15:06 GMT\r\nContent-Length: %d\r\nContent-Type: text/html\r\nCache-Control: private\r\nServer: Server/1.0\r\n\r\n", strlen(HtmlWhole));

	printf(Response);

	send(httpClient, Response, sizeof(Response), 0);
	send(httpClient, HtmlWhole, sizeof(HtmlWhole), 0);

	return 0;
}
This code sends the requested page/file to the client. The problem is, that every file I send using that function comes out like this:
http://img296.echo.cx/img296/5924/html1ne.jpg

When I printf the File Output, it printf the HTML code fine. But when I send it to the client, it shows up like that.

TIA..