通过istream_iterator从文件中读入数字为什么出错?

cheyo车油 2011-05-17 11:34:05

#include <string>
#include <vector>
#include <list>
#include <set>
#include <map>
#include <iostream>
#include <fstream>
#include <algorithm>
#include <numeric>
#include <functional>

const char * FileName = "output_file.txt";

void func()
{
std::vector<int> vValue;
for (int i = 0; i < 10; ++i)
{
vValue.push_back(i);
}

std::ofstream outFile(FileName);
std::ostream_iterator<int> os(outFile, " ");
std::copy(vValue.begin(), vValue.end(), os);
std::cout << "write file success." << std::endl;

std::ifstream inFile(FileName);
if (!inFile)
{
std::cerr << "! open file error" << std::endl;
}

std::istream_iterator<int> is(inFile);
std::istream_iterator<int> eof;

std::ostream_iterator<int> so(std::cout, " ");
std::vector<int> vValue2;
std::copy(is, eof, std::back_inserter(vValue2)); /// 文件中的数据没有读入到vValue2中


std::copy(vValue2.begin(), vValue2.end(), so);
}

int main(int argc, char* argv[])
{
func();

return 0;
}


...全文
164 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryfdizuo 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 demon__hunter 的回复:]

C/C++ code

std::cout << "write file success." << std::endl;
outFile.close();//加这一句试试

std::ifstream inFile(FileName);
[/Quote]
要先关掉再打开。
就想叫yoko 2011-05-18
  • 打赏
  • 举报
回复
Calls the close member function for the associated filebuf object. This function, in turn, flushes any waiting output, closes the file, and disconnects the file from the filebuf object. The filebuf object is not destroyed[Quote=引用 1 楼 demon__hunter 的回复:]

C/C++ code

std::cout << "write file success." << std::endl;
outFile.close();//加这一句试试

std::ifstream inFile(FileName);
[/Quote]
qq120848369 2011-05-18
  • 打赏
  • 举报
回复
我这里正常啊.
机智的呆呆 2011-05-18
  • 打赏
  • 举报
回复

std::cout << "write file success." << std::endl;
outFile.close();//加这一句试试

std::ifstream inFile(FileName);

65,206

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧