问题标签 [string-literals]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
24267 浏览

c++ - C/C++,你能#include一个文件到一个字符串文字中吗?

我有一个 C++ 源文件和一个 Python 源文件。我希望 C++ 源文件能够将 Python 源文件的内容用作大字符串文字。我可以做这样的事情:

但这行不通,因为每行的末尾都需要有 \'s。我可以手动复制和粘贴 Python 代码的内容,并用引号和终止的 \n 将每一行括起来,但这很难看。即使 python 源代码将有效地编译到我的 C++ 应用程序中,我还是想将它保存在一个单独的文件中,因为它更有条理并且与编辑器一起工作更好(emacs 不够聪明,无法识别C字符串文字是 python 代码,当你在里面时切换到 python 模式)。

请不要建议我使用 PyRun_File,这是我首先要避免的;)

0 投票
8 回答
7115 浏览

c++ - 类似 print END << END; 在 C++ 中?

反正有没有做类似 PHP 的事情

在 C++ 中?(多行、未转义、易于剪切和粘贴的流插入)

0 投票
4 回答
14343 浏览

c++ - 比较 C++ 中的字符数组和字符串文字

我有一个字符数组,我试图弄清楚它是否与字符串文字匹配,例如:

这导致了以下错误:与字符串文字比较会导致未指定的行为。我也尝试过类似的东西:

这并没有产生任何编译器错误,但它的行为不符合预期。

0 投票
5 回答
1829 浏览

c++ - 字符串文字的本地化

我需要本地化来自编译器的错误消息。就目前而言,所有错误消息都作为英文字符串文字在整个源代码中传播。我们想将这些错误信息翻译成德语。解决这个问题的最佳方法是什么?保留字符串文字原样,并将 char* 映射到错误报告例程中的另一种语言,或用描述性宏替换英文文字,例如。ERR_UNDEFINED_LABEL_NAME并在编译时将此映射到正确的字符串?

在类似的项目中如何处理这样的事情?

0 投票
1 回答
495 浏览

string-literals - 如何将字符串文字转换为字符串值

嗨,我想将字符串文字转换为字符串值,任何人都可以指导我这样做

例如,我想将以下字符串文字转换为字符串值。

“你好\r\n世界”

进入“你好世界”

0 投票
2 回答
3362 浏览

python - how to access sys.argv (or any string variable) in raw mode?

I'm having difficulties parsing filepaths sent as arguments:

If I type:

I get

Obviously the \0 in the folder name is upsetting the formatting. I can correct it with the following:

which gives

My problem is, how do I achieve the same result with sys.argv? Namely:

I can't find a way for feeding sys.argv in a raw mode into os.path.normpath() to avoid issues with folders starting with zero!

Also, I'm aware that I could feed the script with python script.py D:/Data2/090925 , and it would work perfectly, but unfortunately the windows system stubbornly supplies me with the '\', not the '/', so I really need to solve this issue instead of avoiding it.

UPDATE1 to complement: if I use the script test.py:

I get the following:

i.e.: I've lost 091002...

UPDATE2: as the comments below informed me, the problem is solved for the example I gave when normpath is removed:

Which gives:

And if I use D:\Data2\091002 :

Which is something I can work with: Thanks!

0 投票
6 回答
717 浏览

c++ - (c/c++) 字符串文字的副本是否在 TEXT 部分共享内存?

如果我调用像 myObj.setType("fluid"); 这样的函数 在一个程序中,有多少次文字“流体”的副本保存在内存中?编译器能否识别出这个文字已经定义并再次引用它?

0 投票
6 回答
102432 浏览

c - flex/lex 中字符串文字的正则表达式

我正在尝试学习 flex 并想匹配字符串文字。我的代码目前看起来像:

我已经在变化中苦苦挣扎了一个小时左右,但无法让它按应有的方式工作。我本质上希望匹配一个不能包含换行符(除非它被转义)并支持转义字符的字符串文字。

我可能只是在写一个糟糕的正则表达式或一个与 flex 不兼容的表达式。请指教!

0 投票
6 回答
6356 浏览

c++ - C ++:仅接受字符串文字的构造函数

是否可以创建一个接受字符串文字但不接受 eg的构造函数(或函数签名) char const *

是否有可能有两个可以区分字符串文字和的重载char const *

C++ 0x 会允许使用自定义后缀来实现这一点——但我正在寻找一个“早期”的解决方案。

基本原理:避免作为字符串文字给出时不会被修改的字符串的堆副本。

这些字符串直接发送到 API,const char *不需要任何处理。大多数调用确实使用不需要额外处理的文字,仅在少数情况下它们是构造的。我正在寻找一种保留本机调用行为的可能性。

注意: - 因为它出现在答案中:有问题的代码根本不使用std::string,但一个很好的例子是:


结果:

(1) 做不到。
(2) 我意识到我什至不是在寻找文字,而是在寻找编译时间常数(即“任何不需要复制的东西”)。

我可能会改用以下模式:

用一个简单的

这并不能阻止任何人滥用它(我应该找到一个更好的名字......),但它允许所需的优化,但默认情况下保持安全。

0 投票
3 回答
5275 浏览

objective-c - 将文字字符串分配给带有“=”的 NSString 实际上有什么作用?

以下行实际上是做什么的?

假设在标题中声明了“字符串”:

“=”在这里实际上做了什么?它对“字符串”的引用计数有什么作用?特别是,假设由于某种原因没有分配“字符串”,是否需要释放它?

谢谢!