在哪里拆分字符串文字

时间:2010-03-31 22:42:51

标签: c string literals

每次我必须将长字符串文字拆分成两个(或更多)部分,因为它不适合单行,我必须决定是否在空格之前或之后拆分文本。

例如:

const char * long_text1 = "This is a long text, which does not fit "
                                "in one line";
/* or */
const char * long_text2 = "This is a long text, which does not fit"
                                " in one line";

我倾向于使用第一种方式,但我没有真正的理由。所以我想知道赞成其中一个有什么好处吗?我知道这些问题往往是编码风格问题,但这不是我的意图。我只想知道是否有一个令人信服的理由为什么这两种方式中的一种可能更可取。

3 个答案:

答案 0 :(得分:1)

没有技术理由偏爱其中一个。就编译器而言,那些最终会成为相同的字符串文字。

答案 1 :(得分:1)

我更喜欢第二种方式,因为它更加明显,第二行和连续行是连续的,因为它们以空格开头。我还排列了第一个双引号:

const char * long_text2 = "This is a long text,"
                          " which does not fit"
                          " in one line";

我将这条线分开在第70个角色的某个地方,因为超过80个字符的行是邪恶的。

答案 2 :(得分:0)

我通常使用第一种方法。纯粹是因为我认为用空格开始一个字符串段看起来很奇怪:

 " in one line";

归结为个人偏好(或编码标准,如果你的工作有一个,如果它变得挑剔)。