使用标记有效拆分 C 字符串
要根据指定标记将 C std::string 拆分为子字符串,您可以使用多种方法可以考虑。最有效的解决方案取决于您应用程序的具体要求。
在您的情况下,字符串由 ; 分隔。字符,并且 C 字符串函数和 Boost 的使用受到限制,您可以使用 std::getline() 函数。此函数允许您将数据从流读取到字符串中,并在指定的分隔符处停止。
按照这种方法,这里有一个简单的示例,使用 std::getline() 将字符串拆分为单独的子字符串并存储它们在一个向量中:
#include <sstream> #include <iostream> #include <vector> using namespace std; int main() { string input = "denmark;sweden;india;us"; istringstream stream(input); vector<string> split_strings; string token; // Read substrings separated by ';' while (getline(stream, token, ';')) { cout << token << endl; split_strings.push_back(token); } }
这段代码演示了如何使用 std::getline() 逐个字符地读取字符串,并根据 ; 分割它。分隔符,并将各个子字符串存储在向量中。
通过利用这种方法,您可以有效地将字符串拆分为标记,并根据应用程序的要求执行任何必要的处理或存储操作。
以上是如何使用令牌有效地拆分 C 字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!