C++ 如何在文件中写入stream.rdbuff

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

我试图将stream.rdbuf()写入一个文件,但它似乎不起作用,只是一个空白文件,我不知道该怎么办

#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