读书人

C++的一个小程序出错请各位帮帮忙解

发布时间: 2012-02-17 17:50:42 作者: rapoo

C++的一个小程序出错,请各位帮帮忙
这个程序就是读入一个文件,将这个文件按照行的顺序从后往前输出(《Thinking in C++》第二章第5题)
代码为:
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
using namespace std;

int main()
{
vector <string> file;
ifstream in( "1.txt ");
string s;
while(getline(in,s))
file.push_back(s);
for(int i=file.size();i> =0;i--)
cout < < i < < ": " < <file[i] < <endl;
}

编译没错,就是运行出错,出错信息为:
"0x00425f6c "指令引用的 "0xdddddddd "内存。该内存不能为 "read "。

请各位指点指点~谢谢~

[解决办法]
第一次循环越界了,访问不存在的元素.所以会出错
for(int i=file.size()-1;i> =0;i--)
需要减1

读书人网 >C++

热点推荐