【发布时间】:2010-04-09 20:31:05
【问题描述】:
我需要将字符串文字传递给函数
myfunction("arg1" DEF_CHAR "arg1");
现在构造的字符串文字的一部分需要是函数返回
stmp = createString();
myfunction("arg1" stmp "arg2"); //oh that doesn't work either
有什么方法可以在一行中做到这一点吗?
myfunction("arg1" createString() "arg2"); //what instead?
注意:请仅使用 C。
我的目标是避免为此初始化一个新的字符数组 =/
【问题讨论】:
-
这完全不可能。如果字符串是在运行时创建的,则根据定义,它不是字符串文字。
-
字符串文字连接只是真正存在,因为长字符串很常见,如果没有它来定义它们会很痛苦。您可以在一条凌乱的行中做您想做的事,但不能不为其分配内存。
标签: c string concatenation argument-passing literals