0
當客戶端請求時,我需要通過套接字連接發送一個txt文件。問題是我無法計算如何從二進制格式轉換爲ASCII。使用此代碼,客戶端只能接收垃圾字符。通過套接字C++流式傳輸.txt
ifstream file;
char output [logfilesize];
file.open("log.txt");
file >> output;
send(socket, output, sizeof(output), 0);
cout << output << endl;
file.close
對不起,如果問題已被多次詢問,但在閱讀所有文章後,我無法確定如何使其工作。
謝謝!
編輯:工作代碼!
int lenght;
char * logf;
ifstream file;
file.open("log.txt");
file.seekg(0, ios::end);
lenght = file.tellg();
file.seekg(0, ios::beg);
logf = new char [lenght];
file.read(logf, lenght);
file.close();
cout.write (logf, lenght);
send(soc,logf , lenght, 0);
delete[] logf;
謝謝你的非常有用的答案。不幸的是,我仍然遇到了send()問題客戶端只接收文檔的第一個字符。 – 01BTC10 2012-03-08 10:14:13
我將新代碼添加到了我的第一篇文章中。 – 01BTC10 2012-03-08 10:15:13
@ user38586,很難說不知道客戶端代碼是什麼樣的。 – Nim 2012-03-08 11:11:48