无法包含 std::format

9
我已经看到了std::format的用处。但每次我尝试在C++20中包含它时,它都不能工作。显然它已经包含在库中,但是它并没有出现,而且网上也没有任何信息。即使cppreference有它的示例,但它甚至无法在它的在线编译器上运行。我在下面附上了它的代码片段。
有没有人知道如何使它在不从GitHub导入超级复杂的库的情况下工作?我主要使用VisualStudio。
#include <iostream>
#include <format>

int main() {
    std::cout << std::format("Hello {}!\n", "world");
}

main.cpp:2:10: fatal error: No such file or directory
    2 | #include <format>
      |          ^~~~~~~~
compilation terminated.

4
目前任何C++标准库都没有实现 format 功能,因此您需要暂时下载并安装独立版本。 - Nicol Bolas
@NicolBolas 非常感谢您的回复。那很有道理。非常感激。 - Andres
即使在使用-std=c++20的gcc 11.0.2中,似乎仍然不存在这个功能。 - Konrad Höffner
1个回答

10

截至2020年7月,标准库实现中没有提供std::format。在它们提供之前,您可以使用{fmt}库,该库是基于std::format的:

#include <iostream>
#include <fmt/core.h>

int main() {
  std::cout << fmt::format("Hello {}!\n", "world");
}

godbolt


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接