首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从文本文件中动态提取负数和正数?

如何从文本文件中动态提取负数和正数?
EN

Stack Overflow用户
提问于 2019-07-26 17:36:39
回答 1查看 59关注 0票数 0

我在文本文件中获得了一行内容,例如:

XCoordRange=0-8

现在这很容易,我只需做一个简单的ifstream并将它读取到一个string line,然后继续映射和转换。

line12到int x1

从line14到int x2

这样,我就能够将这些值解析到我的x1x2坐标中。

然而,当出现不同的场景时,情况就变得棘手起来,例如:

XCoordRange=-10--5 (均为负) XCoordRange=-10-5 (一个为负,一个为正) XCoordRange=10-5(一个为正,一个为负)

因此,我的问题是如何将不同场景中的数字动态映射到我的x1x2

似乎我只能阅读一种类型的数据(负面或正面),而不是两者兼而有之(负面和积极)。

下面是我迄今为止尝试过的:

代码语言:javascript
运行
复制
    string line = "XCoordRange=-10-5";  
    size_t pos = 0;     
    string token;   
    string delimiter = "=";

    if(pos = line.find(delimiter) != string::npos)
    {
                    token = line.substr(0, pos);
                    line.erase(0, pos + delimiter.length());
    }

这给了我一个-10--5的输出,但是,我仍然停留在下一步应该做的事情上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-26 17:48:09

可以使用在istringstream中定义的<sstream>,如下所示

代码语言:javascript
运行
复制
// if line is "-10--5"
std::istringstream iss(line);
int n1, n2;
iss >> n1; // read first number ("-10")
iss.ignore(); // ignore the '-' character
iss >> n2; // read the second number ("-5")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57224730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档