将字符 * 转换为字符串文字

Convert char * to string literal

本文关键字:字符串 文字 转换 字符      更新时间:2023-10-16

我想使用带有 #pragma 消息的字符*来告诉我在Visual Studio调试器中的问题在哪里。

void OutputShaderErrors(const char *filename)
{
  std::string outputMessage = "Errors written to: ";
  outputMessage += filename;
  #pragma message(outputMessage.c_str())
}

上面的代码块确实有效,但给出了以下警告:

Warning 1   warning C4083: expected 'string'; found identifier 'outputMessage'

正如#pragma中的#所暗示的那样,这是预处理器的一个功能。不能在运行时调用它。代码实际上不起作用,您看到的警告来自您对 #pragma 的无效使用。

由于您使用的是Visual Studio,因此您可能会发现OutputDebugMessage函数很有用。