C++ 如何在文件中写入stream.rdbuff
我试图将stream.rdbuf()写入一个文件,但它似乎不起作用,只是一个空白文件,我不知道该怎么办C++ 如何在文件中写入stream.rdbuff,c++,visual-c++,C++,Visual C++,我试图将stream.rdbuf()写入一个文件,但它似乎不起作用,只是一个空白文件,我不知道该怎么办 #include "stdafx.h" #include <iostream> #include <boost/asio.hpp> #include <conio.h> #include <stdio.h> #include <fstream> char buffer [9999999]; int main() { bo
#include "stdafx.h"
#include <iostream>
#include <boost/asio.hpp>
#include <conio.h>
#include <stdio.h>
#include <fstream>
char buffer [9999999];
int main()
{
boost::asio::ip::tcp::iostream stream;
stream.expires_from_now(boost::posix_time::seconds(60));
stream.connect("www.mail.ru","http");
stream << "GET / HTTP/1.1\r\n";
stream << "Host mail.ru\r\n";
stream << "User-Agent Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11\r\n";
stream << "Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n" ;
stream << "Accept-Encoding gzip,deflate,sdch\r\n";
stream << "Accept-Language en-US,en;q=0.8\r\n";
stream <<"Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.3\r\n";
stream << "Cookie \r\n\r\n";
stream.flush();
using namespace std ;
cout << stream.rdbuf();
ofstream f("output.txt" /*| ios::bin*/);
f << stream.rdbuf();
f.close();
system("pause");
return 0 ;
}
#包括“stdafx.h”
#包括
#包括
#包括
#包括
#包括
字符缓冲区[9999999];
int main()
{
boost::asio::ip::tcp::iostream流;
expires_from_now(boost::posix_time::seconds(60));
stream.connect(“www.mail.ru”、“http”);
stream您将调用stream.rdbuf()
两次:一次用于标准输出cout
,然后用于文件
您的解释不清楚您是否在屏幕上看到任何输出(当您写入cout
时)
1) 如果是,则需要将其写入文件:当您再次读取流时,它已耗尽且不包含任何内容
只需移除
cout << stream.rdbuf();
cout