getline(cin,s);
istringstream iss(s);
do
{
string sub;
iss>>sub;
q.insert(sub);
}while(iss);
Run Code Online (Sandbox Code Playgroud)
当问题想让我在空间的基础上分裂时,我使用了这种技术,所以任何人都可以解释如何在有一个特定的分隔符时分裂,如';' 要么 ':'.
有人告诉我关于strtok功能,但我无法得到它的用法所以如果有人可以提供帮助会很好.
Jam*_*nze 12
首先,不要使用strtok.永远.
标准库中没有真正的功能.我使用类似的东西:
std::vector<std::string>
split( std::string const& original, char separator )
{
std::vector<std::string> results;
std::string::const_iterator start = original.begin();
std::string::const_iterator end = original.end();
std::string::const_iterator next = std::find( start, end, separator );
while ( next != end ) {
results.push_back( std::string( start, next ) );
start = next + 1;
next = std::find( start, end, separator );
}
results.push_back( std::string( start, next ) );
return results;
}
Run Code Online (Sandbox Code Playgroud)
我相信Boost有很多这样的功能.(在Boost之前很久我实现了我的大部分.)