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