我有一个字符串数组,我从这个数组中推出了名称。
数组:
string list_full[3];
list_full[0]: name1 family1
list_full[1]: name2 family2
list_full[2]: name2 family2
我想得到这个清单:
name1
name2
name3
所以,我使用这段代码:
string name;
for(count=0; count<3; count++)
{
getline(list_full[count], name,' ');
cout<<name<<endl;
}
但这不起作用并收到此错误:
没有用于调用
的匹配函数getline(std::string&, std::string&, char)
答案 0 :(得分:0)
试试这个:
#include <string>
#include <sstream>
#include <iostream>
// ...
for (auto const & s : list_full)
{
std::istringstream iss(s);
std::string token;
if (iss >> token)
{
std::cout << token << '\n';
}
}
或者在C ++ 03中:
for (std::size_t i = 0; i != 3; ++i)
{
std::istringstream iss(list_full[i]);
// ...