首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >代码中的分段错误

代码中的分段错误
EN

Stack Overflow用户
提问于 2012-11-21 19:31:28
回答 1查看 142关注 0票数 0

我是一个新手,当涉及到c++时,我试图做的是从.csv文件中读取,并将其存储在矢量中,然后显示,我的问题是,当从终端运行时,代码崩溃后,从文件中显示的最后一个reqd条目,但在ide (代码块)中,当我试图调试它时,它显示sigsegv错误...

ps:我希望将文件读取到矢量中的原因是为了以后能够进入mysqldb

代码语言:javascript
运行
复制
#include <vector>
#include <string>
#include <sstream>
#include<fstream>
#include <iostream>

using namespace std;
vector<string> split_at_commas(const string& row)
{
    vector<string> res;
    istringstream buf(row);
    string s;
    while (getline(buf, s, ','))
        res.push_back(s);
    return res;
 }

int main()
{
    string line;
    ifstream  data("Book1.csv" ,ios::out);
    while(!data.eof())
    {
        getline(data,line,'\n');
        vector<string> v = split_at_commas(line);
        /*ide points error to this line*/ 
        cout << v[0] << '\t' << v[1] <<'\t' << v[2]<< '\t'<<endl;                  
    }
    data.close();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-21 19:40:28

不能保证“v”包含三个或更多元素。在调试器中,在调用split_at_commas之后和打印之前检查“v”的内容,以验证v是否包含3个或更多项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13492366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档