Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ “怎么做?”;getline";从std::字符串?_C++_String_Stream_Getline - Fatal编程技术网

C++ “怎么做?”;getline";从std::字符串?

C++ “怎么做?”;getline";从std::字符串?,c++,string,stream,getline,C++,String,Stream,Getline,我有个问题。我加载整个文件,然后通过它获取一些信息。但是,在地图格式中,可能有0或20条带有信息的“线”。我需要知道如何通过std::string获取行。有一个函数(源流、目标字符串、十进制),但我需要(源字符串、目标字符串、十进制)。在C++中,在流中搜索是不可能的(只使用许多临时字符串,并且多次提取和插入,这是不清楚的,我不想用杂乱的方式来做)。所以我想知道如何从std::string获取行 Thans您似乎想要的,在标题中: 谢谢与之相关的简单问题。如何使getline在流中找不到小数点时

我有个问题。我加载整个文件,然后通过它获取一些信息。但是,在地图格式中,可能有0或20条带有信息的“线”。我需要知道如何通过std::string获取行。有一个函数(源流、目标字符串、十进制),但我需要(源字符串、目标字符串、十进制)。在C++中,在流中搜索是不可能的(只使用许多临时字符串,并且多次提取和插入,这是不清楚的,我不想用杂乱的方式来做)。所以我想知道如何从std::string获取行

Thans

您似乎想要的,在标题中:


谢谢与之相关的简单问题。如何使getline在流中找不到小数点时不获取行?因为这仍然是一个问题,因为我无法在流中搜索(这就是为什么我需要不存在的字符串getline)。@user1873947最简单的可能是检查您使用的字符串是否包含数字,然后跳过整个
std::istringstream
/
std::getline
位。
std::string some_string = "...";

std::istringstream iss(some_string);

std::string line;
while (std::getline(iss, line))
{
    // Do something with `line`
}