Либо функция ничего не возвращает, либо возвращает пустую строку.Я пытаюсь стереть все до следующей последовательности после текста -e
в строке.Например, test -e test/file/path
должен возвращать test/file/path
без пробела после -e
.Однако, когда функция ничего не возвращает или возвращает пустую строку.Я не могу найти что-то не так с моей функцией, пожалуйста, помогите!
#include <iostream>
using namespace std;
string fileparse(string str) {
int i;
for (i = 0; i < str.size(); i++)
if (str[i] == '-')
i += 2; //to account for the space after 'e'
str.erase(str.begin(), str.begin()+i);
return str;
}
int main()
{
string str = "test -e test/file/path";
string vars = fileparse(str);
cout << vars << endl; //blank
return 0;
}