【问题标题】:Raw Strings in Code::Blocks?Code::Blocks 中的原始字符串?
【发布时间】:2016-08-04 20:54:30
【问题描述】:

我正在从文件中读取目录,例如我加载了这个"Main\Characters\Player.xxx",所以我想创建文件夹 Main 和 Characters。我尝试使用这种方法(从字符串中删除 Player.xxx 之后)“:

string syntax = "md "+path;
system(syntax.c_str());

但是,'\' 被视为转义而不是反斜杠,最佳解决方案是将每个 '\' 替换为 '\' 但这会将我的工具从 O(n) 增加到 O(2n)它需要 30 秒才能完全完成每个部分。有没有办法在 Code::Blocks 中使用原始字符串?因为R"(\w\\\w)"; 没有为我完成这项工作。 (R 未在此范围内声明).

也欢迎任何其他不围绕原始字符串的解决方案。

【问题讨论】:

  • 明确一点,O(n) 和 O(2n) 是一样的。
  • 而 O(1) 可能需要十亿年或更长时间。
  • @GManNickG 我知道它们是一样的,但请从逻辑上考虑。
  • 我知道你的意思,但只是说“那我得迭代两次”,这样更简单明了。 :) 无论如何,Code::Blocks 是一种 IDE,而不是一种语言。 C++11 支持原始字符串,如果您在使用它们时遇到错误,那么您只需在编译器中启用 C++11 支持。
  • @GManNickG 我想我会照你说的做。

标签: c++ rawstring


【解决方案1】:

答案 1 - 升级到另一个编译器。 答案 2 - 只需将每个 \ 替换为 \

【讨论】:

    【解决方案2】:

    转到设置>编译器,然后选中显示 g++ 遵循 C++11 ISO C++ 语言标准的位置旁边的框。

    这将允许您使用 2011 年标准引入的功能,其中包括 R 前缀。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-26
      • 1970-01-01
      • 2011-03-31
      • 1970-01-01
      相关资源
      最近更新 更多