gpt4 book ai didi

c++ - 代码中的段错误

转载 作者:行者123 更新时间:2023-11-28 07:52:27 27 4
gpt4 key购买 nike

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

ps:我之所以要读入vector是为了以后能进入mysqldb

#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();
}

最佳答案

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

关于c++ - 代码中的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13492366/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com