多年来,我一直没有参考 Kernighan 和 Ritchie C,但我记得那里有一个页面讨论了如何输入您无法使用的字符。(在过去,有些键盘缺少像“,〜等”这样的字符)
为了清楚起见,让我举个例子。我不是在寻找一种在字符串中获取引号的方法,而是我想替换它:
printf("foo");
有了这个:
printf([alternate sequence]foo[alternate sequence]);
出于好奇,我有一个涉及生成 C/C++ 代码的自动化过程,但是(封闭源代码)商业工具涉及在其数据流中去除引号,并且文档非常清楚地说明它们不提供逃避的方法他们。
编辑:
哇,没想到反应这么大。这可能值得对我的过程进行更多详细说明。我正在做自动构建系统,这意味着在更改我正在编译的代码时我会受到某些限制。现在,我们必须接受这样的假设,即我必须将字符串、空格和所有内容放入预处理器定义中。我已经走上了“预处理器定义”的道路。这给我留下了我通常的后备:在操作环境中定义字符串并让项目文件从那里设置定义:
Preprocessor Definitions WIN32;_DEBUG;THINGIE=$(THINGIE)
希望是通过在我的构建自动化脚本中执行以下操作,我可以绕过 MSVC 在使用 /D 使用三元组传递给构建的任何内容中去除引号:
ENV['THINGIE'] = "??''Yodeling Monkey Nuggets??''"
run_msbuild_command
我想是时候制定 C 计划了。