我是那些先学习 Java 然后来到 C++ 的新人之一,很多事情都很奇怪。我正在尝试访问 std::string 对象的字符以识别空格(是的,我想先走艰难的路,现在没有正则表达式),但是我遇到了一个分段错误错误,我可以'不明白。调用“getTokens()”函数时会引发错误,该函数调用 toTokenize.at() 方法,这是一个引发分段错误的方法。如果有人能以正确的方式指出我,我将非常感激!在下面找到我的代码。谢谢!
#include <iostream>
#include <vector>
#include <string>
std::vector<std::string> getTokens(const std::string& toTokenize) {
std::vector<std::string> result;
for (int i=1; i<toTokenize.length(); i++) {
std::cout << toTokenize.at(i);
}
}
int main() {
std::string s ("");
do {
std::cout << "\nPlease input a command: ";
getline(std::cin, s);
getTokens(s);
}
while (s != "exit");
return 0;
}