我有一个正在用 C++ 编译的文件,我希望在其中有一个字符串,其值是编译时文件的内容。
换句话说,我想 #include 文件,但要用双引号括起来。
我如何在 C++ 中执行此操作?
现在,如果该文件包含双引号作为其文本的一部分,我该如何将其转义?
最佳答案
您可以使用xxd -i/tmp/your_file >/tmp/your_file_as_string.c
这将为您定义一个字符串文字:
$ cat /tmp/your_file_as_string.c
unsigned char _tmp_inc[] = {
0x2e, 0x2f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x6e, 0x65, 0x78, 0x74,
0x4f, 0x6f, 0x6c, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f,
...
0x74, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x65, 0x63,
0x0a
};
unsigned int _tmp_inc_len = 1513;
现在您可以使用该定义的字符串了。
关于c++ - 如何在构建时将文件内容获取到我的 C++ 字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2838542/