22.10.2013, 11:56. Просмотров 259. Ответов 0
Суть вопроса в теме.
Есть такой код:
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| int main()
{
string input;
string start = "start", finish = "finish";
system("dmidecode > test.txt");
ifstream fin("test.txt");
getline(fin, input); // Читаем весь файл целиком
input.erase(0, input.find(start) + start.length() + 1); // Стираем все от начала до начального слова + само начальное слово
input.erase(input.find(finish) - 1, input.length()); //стираем все после конечного слова с конечным словом
cout << input << endl;
return 0;
} |
|
Компилируется нормально, но при запуске выдает эту ошибку:
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::erase
Aborted
думаю, это связано с system()