如何在 C++ 中与 istringstream 一起使用?
How using with istringstream in c++?
我在 C++ 中寻找拆分空格的函数。我在互联网上找到这段代码。我想知道说的是什么。
string line;
istringstream buf(line);
istream_iterator<string> beg(buf), end;
vector<string> tokens(beg, end);
return tokens;
参见:
#include <iostream>
#include <sstream>
#include <vector>
#include <iterator>
std::vector<std::string> SplitByWhiteSpace(std::string stringToSplit)
{
std::istringstream buf(stringToSplit);
std::istream_iterator<std::string> beg(buf), end;
return std::vector<std::string>(beg, end);
}
int main() {
std::vector<std::string> tokens = SplitByWhiteSpace("Hello World!");
for (std::size_t i = 0; i < tokens.size(); ++i)
{
std::cout<<tokens[i]<<"\n";
}
return 0;
}
该代码将字符串拆分为 white-space 和 returns 向量中的所有标记。然后您可以打印向量中的所有标记。
几乎和做的一样(结果相同,技术不同):
std::vector<std::string> SplitByWhiteSpace(std::string stringToSplit)
{
std::string word;
std::vector<std::string> tokens;
std::istringstream buf(stringToSplit);
while (buf >> word)
{
tokens.push_back(word);
}
return tokens;
}
我在 C++ 中寻找拆分空格的函数。我在互联网上找到这段代码。我想知道说的是什么。
string line;
istringstream buf(line);
istream_iterator<string> beg(buf), end;
vector<string> tokens(beg, end);
return tokens;
参见:
#include <iostream>
#include <sstream>
#include <vector>
#include <iterator>
std::vector<std::string> SplitByWhiteSpace(std::string stringToSplit)
{
std::istringstream buf(stringToSplit);
std::istream_iterator<std::string> beg(buf), end;
return std::vector<std::string>(beg, end);
}
int main() {
std::vector<std::string> tokens = SplitByWhiteSpace("Hello World!");
for (std::size_t i = 0; i < tokens.size(); ++i)
{
std::cout<<tokens[i]<<"\n";
}
return 0;
}
该代码将字符串拆分为 white-space 和 returns 向量中的所有标记。然后您可以打印向量中的所有标记。
几乎和做的一样(结果相同,技术不同):
std::vector<std::string> SplitByWhiteSpace(std::string stringToSplit)
{
std::string word;
std::vector<std::string> tokens;
std::istringstream buf(stringToSplit);
while (buf >> word)
{
tokens.push_back(word);
}
return tokens;
}