- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发我的第一个 Web 应用程序(天气可视化),它在后端需要一些简单的 C++。我使用 wget 下载原始文本,使用 C++ 控制台解析数据,然后写入 HTML。到目前为止效果很好。
METAR 基本上是来自某个站点的原始天气数据。 (时间、日期、条件、温度等)。我目前使用的是:
2018/08/10 08:09
KBAZ 100809Z AUTO 00000KT 10SM BKN012 26/23 A3002 RMK AO2 T02610233
我已经能够将每组数据存储到不同的变量中。我正在查看的问题集是上面的“26/23”,这是摄氏温度和露点。
到目前为止,我有一个名为 tempAndDewpoint 的字符串,其中存储了“26/23”...我正在使用 substr(0,2) 在一个名为 temperature 的新字符串中返回正确的温度。 (因为第一个数字是温度)。这很好用。
我的问题是,如果温度低于 10 度(例如 9 度)会怎样?我不能再使用 substring(0,2),因为那样会返回“9/”作为当前温度。
我希望能找到一些对我来说复制起来不太复杂的指导。我什至不确定如何命名这个问题,因为我不确定这个问题叫什么。一定很常见吧?
最佳答案
注意:METAR 中的负温度以 M 为前缀。因此这些是有效的温度组:5/M2 或 M8/M12(负露点实际上是结冰点)。所以我不会在这里使用自定义解析器:
struct TTD {
short int t;
short int td;
bool parse(const char *tempAndDewpoint) {
const char *next;
t = parse_partial(tempAndDewpoint, &next);
if (*next != '/') return false;
td = parse_partial(next + 1, &next);
return (*next == '\0');
}
private:
static short int parse_partial(const char *beg, const char **next) {
bool neg = false;
short int val = 0;
if (*beg == 'M') {
neg = true;
beg += 1;
}
while (*beg >= '0' && *beg <= '9') {
val = val * 10 + (*beg - '0');
beg += 1;
}
*next = beg;
if (neg) val = -val;
return val;
}
};
关于C++ 控制台 : Parsing METAR data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51783676/
我开始解析这个正则表达式字符串:((M|-)?\d{1,2}|//|XX|MM)/((M|-)?\d{1, 2}|//|XX|MM)?,我在一个开源项目中找到的。 但不幸的是,它不能很好地解析温度,因
我得到以下输入,我想将其分成四个部分: - KPDX 021453Z 16004KT 10SM FEW007 SCT060 BKN200 11/09 A3002 RMK AO2 SLP166
如何在 Java 编程中解析 Metar 信息?我在互联网上搜索过,有很多复杂的东西,我想要更简单的东西。我不知道如何使用正则表达式或类似的东西...... Metar 信息示例:http://wea
我正在开发我的第一个 Web 应用程序(天气可视化),它在后端需要一些简单的 C++。我使用 wget 下载原始文本,使用 C++ 控制台解析数据,然后写入 HTML。到目前为止效果很好。 METAR
我需要在 python 脚本中使用 METAR 天气信息。我找到了 http://pypi.python.org/pypi/metar/1.4.0这似乎可以满足我当前 METAR 的需求。但是,我还需
我正在开发一个包来连接 R 和 mdsplib ,以便解析 METAR 报告。它可以在这里找到:https://github.com/jwijffels/RMETAR,您可以将其安装在 R 中。 re
我是一名优秀的程序员,十分优秀!