小编iny*_*ind的帖子

抛出'std :: out_of_range'的实例后调用terminate():basic_string :: substr

我收到了这个错误:"在从这段代码中抛出'std :: out_of_range'what():basic_string :: substr"的实例后调用终止:

#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <cstdlib>

using namespace std;

vector <string> n_cartelle;

ifstream in("n_cartelle.txt");
string linea;

while(getline(in,linea))
n_cartelle.push_back(linea);


for(int i=0; i < 4; ++i){


if(n_cartelle[i].substr(n_cartelle[i].size()-3) == "txt")
cout <<"si"<<endl;
else
cout<<"no"<<endl;

}
Run Code Online (Sandbox Code Playgroud)

如果我尝试这个:

if(n_cartelle[7].substr(n_cartelle[7].size()-3) == "txt")
cout <<"si "<<n_cartelle[7]<<endl;
else
cout<<"no"<<endl;
Run Code Online (Sandbox Code Playgroud)

我没有得到错误.

c++ substr

1
推荐指数
1
解决办法
4万
查看次数

标签 统计

c++ ×1

substr ×1