使用 C std::string 分离字符串标记
这个问题解决了将 C std::string 拆分为多个标记的挑战,特别是使用分隔符“;”。虽然一些建议的解决方案涉及 Boost 等外部库,但该项目的指南禁止使用它们。因此,我们探索一种使用 C 标准库的更直接的方法。
一种有效的方法是利用 std::getline() 函数,它在指定分隔符方面提供了多功能性。在这种情况下,我们可以按如下方式实现标记化过程:
#include <sstream> #include <iostream> #include <vector> using namespace std; int main() { vector<string> strings; // Vector to store split strings istringstream f("denmark;sweden;india;us"); // Input stringstream string s; // Variable to store individual strings while (getline(f, s, ';')) { cout << s << endl; // Display split string strings.push_back(s); // Store string in vector } }
在此实现中,我们从输入字符串“denmark;sweden;india;us”创建一个字符串流。 std::getline() 函数用于迭代字符串流并检索由“;”分隔的标记。分隔符。每个检索到的标记都会被打印并添加到字符串向量中以供进一步处理。
通过采用这种方法,我们可以在不依赖外部库的情况下实现输入字符串的所需标记化,并遵循指定的准则。
以上是如何使用 std::getline() 在 C 中将字符串拆分为标记?的详细内容。更多信息请关注PHP中文网其他相关文章!