当我使用 std::get_time 或 strftime 解析字符串时,我在我的 RaspberryPi 上收到了一个 SIGABRT。当我在我的 Ubuntu 计算机上执行相同的代码时,它工作正常。
std::get_time 示例:
#include <chrono>
#include <iomanip>
#include <iostream>
int main() {
std::stringstream stream;
stream.str("09:35:44,02-23-2023");
std::tm tm{};
const std::string format = "%H:%M:%S,%m-%d-%Y";
if((stream >> std::get_time(&tm, format.c_str())).fail()) {
std::cout << "Parsing failed" << std::endl;
}
std::cout << std::chrono::seconds(std::mktime(&tm)).count() << std::endl;
}
我用 Buster 和 Bulleseye 尝试了 Raspberrys,但都无法执行代码。 我运行 Ubuntu 22.04 的计算机可以很好地执行该示例。 我试图在解析 arm 架构上的日期时找到已知问题,但没有找到任何问题。
非常感谢任何帮助!