在 C++ 中,你可以使用 <string>
庫中的 substr
和 find
函數來分割字符串。下面是一個簡單的示例,展示了如何利用這些函數分割一個字符串:
#include <iostream>
#include <string>
#include <vector>
std::vector<std::string> split(const std::string& input, char delimiter) {
std::vector<std::string> tokens;
std::size_t start = 0;
std::size_t end = input.find(delimiter);
while (end != std::string::npos) {
tokens.push_back(input.substr(start, end - start));
start = end + 1;
end = input.find(delimiter, start);
}
tokens.push_back(input.substr(start, end));
return tokens;
}
int main() {
std::string input = "Hello,World,This,Is,A,Test";
char delimiter = ',';
std::vector<std::string> tokens = split(input, delimiter);
for (const auto& token : tokens) {
std::cout << token << std::endl;
}
return 0;
}
在這個示例中,我們定義了一個名為 split
的函數,它接受一個字符串 input
和一個分隔符 delimiter
作為參數。該函數使用 find
函數查找分隔符在字符串中的位置,并使用 substr
函數提取子字符串。然后,將這些子字符串添加到一個 std::vector<std::string>
容器中,并在循環結束后返回該容器。