了解字符串流
Understanding stringstream
我以前从未使用过 stringstream,我得到了一个示例代码,但没有解释代码中发生的事情。如果有人可以解释每一行的目的,那就太好了。我查看了多个地方,但似乎无法确定第二行。
#include <sstream> // i know this line includes the file
stringstream ss(aStringVariable);// this line in particular
ss >> aVariable;
getline(ss, stringVariable2HoldValue, ‘|’);
std::stringstream
有一个构造函数,它将 std::string
作为参数并使用该值初始化流。
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::stringstream ss("foo bar");
std::string str1, str2;
ss >> str1 >> str2;
std::cout << "str1: " << str1 << std::endl;
std::cout << "str2: " << str2 << std::endl;
}
这段代码用值"foo bar"
初始化一个stringstream
、ss
,然后将它读入两个字符串,str1
和str2
,在与读取文件或 std::cin
.
的方式相同
我以前从未使用过 stringstream,我得到了一个示例代码,但没有解释代码中发生的事情。如果有人可以解释每一行的目的,那就太好了。我查看了多个地方,但似乎无法确定第二行。
#include <sstream> // i know this line includes the file
stringstream ss(aStringVariable);// this line in particular
ss >> aVariable;
getline(ss, stringVariable2HoldValue, ‘|’);
std::stringstream
有一个构造函数,它将 std::string
作为参数并使用该值初始化流。
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::stringstream ss("foo bar");
std::string str1, str2;
ss >> str1 >> str2;
std::cout << "str1: " << str1 << std::endl;
std::cout << "str2: " << str2 << std::endl;
}
这段代码用值"foo bar"
初始化一个stringstream
、ss
,然后将它读入两个字符串,str1
和str2
,在与读取文件或 std::cin
.