gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 04:13:15 24 4
gpt4 key购买 nike

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

XCoordRange=0-8

现在这很容易,我可以做一个简单的 ifstream 并将其读取到 string line 并继续映射和转换

行[12]到int x1

和第 [14] 行到 int x2

这样,我就可以将值解析为我的 x1x2 坐标。

但是,当出现不同的场景时,事情会变得棘手,例如:

XCoordRange=-10--5 (both negative)

XCoordRange=-10-5 (one negative and one positive)

XCoordRange=10--5 (one positive and one negative)

所以我的问题是如何将不同场景中的数字动态映射到我的 x1x2 中?

似乎我只能读取一种类型的数据(负面或正面),而不能同时读取(负面和正面)。

以下是我到目前为止所尝试的:

    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 的输出,但是,我陷入了下一步该做什么。

最佳答案

您可以使用 istringstream<sstream> 中定义如下

// 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")

关于c++ - 如何从文本文件中动态提取负数和正数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57224730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com