VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 349|回复: 5

[已解决]求高手指点,vector subscript out of range的问题

[复制链接]
92_avatar_middle
最佳答案
0 
在线会员 发表于 2019-11-14 09:39:18 | 显示全部楼层 |阅读模式
  1. #include <iostream>
  2. #include <fstream>
  3. #include <sstream>
  4. #include <vector>
  5. #include <string>

  6. using namespace std;

  7. int main(int argc, char** argv)
  8. {
  9.     /* Read data from point_right.csv */
  10.     ifstream fin("..//GBPUSD60.csv");                        // 打开文件流操作
  11.     string line;
  12.     while (getline(fin, line))                           // 整行读取,换行符“\n”区分,遇到文件尾标志eof终止读取
  13.     {
  14.         cout << "原始字符串: " << line << endl;           // 整行输出
  15.         istringstream sin(line);                         // 将整行字符串line读入到字符串流istringstream中
  16.         vector<string> Waypoints;                        // 声明一个字符串向量
  17.         string info;
  18.         while (getline(sin, info, ','))// 将字符串流sin中的字符读入到Waypoints字符串中,以逗号为分隔符
  19.                 {  
  20.             Waypoints.push_back(info);                   // 将刚刚读取的字符串添加到向量Waypoints中
  21.         }
  22.         string o_str = Waypoints[2];        //csv文件内容的第三列
  23.         string c_str = Waypoints[3];        //csv文件内容的第四列
  24.         string h_str = Waypoints[4];        //csv文件内容的第五列
  25.         string l_str = Waypoints[5];        //csv文件内容的第六列
  26.         string v_str = Waypoints[6];        //csv文件内容的第七列
  27.         double open, close, high,low;
  28.                 int volume;
  29.                 stringstream so, sc, sh,sl, sv;

  30.                 so << o_str;
  31.                 sc << c_str;
  32.                 sh << h_str;
  33.                 sl << l_str;
  34.                 sv << v_str;

  35.                 so >> open;
  36.                 sc >> close;
  37.                 sh >> high;
  38.                 sl >> low;
  39.                 sv >> volume;
  40.                 cout << "open= " << open << "  " << "close= " << close << "  "
  41.                         << "high= " << high <<" "<<"low="<<low<<" "<<"volume="<<volume<< "\n\r"<<endl;
  42.                 //cout << "Read data done!" << endl;
  43.         }
  44.         return 0;
  45. }


复制代码




求高手指教,已经成功读取到数据了,为什么读到最后出现:vector subscript out of range
咱们的网站不支持上传csv文件,所以放在了百度网盘:
链接:https://pan.baidu.com/s/1zmGophz9b9-TBOplLfOAjA
提取码:tb5x



最佳答案
01_avatar_small
2019-11-14 10:00:50
peiyingxuan 发表于 2019-11-14 09:41
咱们的网站不支持上传csv文件,所以把GBPUSD60.csv文件放在了百度网盘: 链接:https://pan.baidu.com/s/1z ...

传不了 csv 可以给 csv 文件压缩一下,压缩成 zip 就可以啦




上一篇:WinHttp.WinHttpRequest.5.1在C++中该怎么使用?
下一篇:取出 mysql 数据库的值
92_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-11-14 09:41:03 | 显示全部楼层
咱们的网站不支持上传csv文件,所以把GBPUSD60.csv文件放在了百度网盘: 链接:https://pan.baidu.com/s/1zmGophz9b9-TBOplLfOAjA  提取码:tb5x
01_avatar_middle
最佳答案
38 
online_admins 发表于 2019-11-14 10:00:27 | 显示全部楼层
peiyingxuan 发表于 2019-11-14 09:41
咱们的网站不支持上传csv文件,所以把GBPUSD60.csv文件放在了百度网盘: 链接:https://pan.baidu.com/s/1z ...

我这边执行没发现问题,都是正常结束。
是不是读取到最后一行的空行导致崩溃了
01_avatar_middle
最佳答案
38 
online_admins 发表于 2019-11-14 10:00:50 | 显示全部楼层    本楼为最佳答案   
bestAnswer
peiyingxuan 发表于 2019-11-14 09:41
咱们的网站不支持上传csv文件,所以把GBPUSD60.csv文件放在了百度网盘: 链接:https://pan.baidu.com/s/1z ...

传不了 csv 可以给 csv 文件压缩一下,压缩成 zip 就可以啦
92_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-11-14 10:07:17 | 显示全部楼层
admin 发表于 2019-11-14 10:00
传不了 csv 可以给 csv 文件压缩一下,压缩成 zip 就可以啦

这样也好,可以节省咱们的网站空间,
92_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2019-12-10 16:34:12 | 显示全部楼层
admin 发表于 2019-11-14 10:00
传不了 csv 可以给 csv 文件压缩一下,压缩成 zip 就可以啦

是的,我是放在win32里面出问题的,后来排查出来就是这个问题
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-9-19 22:50

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表