Piszę sobie klienta HTTP no i mam taki problem, że nie wiem czemu do plików, które ściągam dodają mi się znaki nowej linii. Przykładowo, strona główna 4programmers.net powinna mieć 502 linie, mój program ściąga 939.
Kod:
DWORD WINAPI HTMLGetToFile(LPVOID param)
{
ofstream fs("D:\\plik.html");
SOCKET sock = (SOCKET)param;
const int BUFF_SIZE = 4096;
char buffor[BUFF_SIZE];
int bytesRecvd = 0;
int allBytes = 0;
if(fs.is_open())
cout << "File opened\n";
while(true)
{
bytesRecvd = recv(sock, buffor, BUFF_SIZE, 0);
if(bytesRecvd > 0)
{
for(int i = 0; i < bytesRecvd; i++)
{
fs.put(buffor[i]);
}
allBytes += bytesRecvd;
}
else if(bytesRecvd == 0)
{
cout << "Razem odebrano : " << allBytes << " bajtow" << endl;
fs.close();
break;
}
Sleep(15);
}
return 0;
}
Na razie ten kod wygląda jak wygląda, ale dlaczego się tak robi?