代码之家  ›  专栏  ›  技术社区  ›  Andersma

为什么printf在devc++中工作,而不是在CLion中?

  •  -3
  • Andersma  · 技术社区  · 7 年前

    我最近开始寻找一种用于C++的新IDE。我以前使用Dev C++,但与其他一些ide相比,它有点简陋。

    我遇到了一个问题,我试着和我的教授谈谈,他说这很可能是由于标准库实现而不是IDE本身——这让我觉得我可以解决它?我要说到重点:

    在Dev C++中,当我说printf(“%14.2f”,variable)时,它会按我期望的那样打印。但是,在CLion中,它标记了%符号并说“未知、不完整或可选的格式说明符”,然后打印“14.2f”,而不是我的变量。我知道这是因为撇号,但我不知道如何修复它。

    谢谢

    1 回复  |  直到 7 年前
        1
  •  1
  •   Keith Thompson    7 年前

    撇号在符号中用作标志字符 printf

    十进制转换结果的整数部分( %i %d , %u , %f %F , %g %G )应采用千分组格式 字符。对于其他转换,行为未定义。这个

    你的教授是正确的:对这个扩展的支持是由标准库实现决定的,而不是由IDE或编译器决定的。

    但是:

    我的教授说GCC的libstd++应该可以正常工作,但我不知道如何处理这些信息。

    打印F 作用这是C库的一部分。(C++库包括大部分C库。)

    您应该调查您的IDE使用的是什么C++实现(编译器和库)。您可能能够引导CLion使用与Dev C++相同的C++实现。