C 在何处拆分字符串文字

C 在何处拆分字符串文字,c,string,literals,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 f

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

例如:

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";

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

没有技术上的理由选择其中一种。就编译器而言,它们最终都是相同的字符串文字。

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

 " in one line";

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

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

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

我在第70个字符的某个位置将行拆分,因为超过80个字符的行是邪恶的。

是的,我知道。但是你有一个规则在哪里分开吗?或者你是在一个随机的地方做的?@quinmars,完全依赖于所讨论的字符串。正如我所说,没有技术上的原因,所以你可以做任何你想做的事。如果有人抱怨,戳他的眼睛。我在周一和周五使用第一种方式。我和@JayM在一起,尽管正如其他人所指出的,这是非常主观的。