C语言长字符串拆分

一、说明

C中字符串有时候会出现很长的情况,如果不换行书写查看起来很不方便。长字符串拆分成多行处理也是C规范的一部分。

二、方法

方法1. 利用双引号" " ,将长字符串分成多个子串换行,C会自动无缝拼接这些字符串。

方法2. 利用斜杠 \ , \ 后的换行符会被C忽略,所以可以拆分字符串,但是下一行的空格会被计算在内,可能导致错误。

三、例子

int main()
{

    char s1[50] , s2[50];
    int slen=0;
    slen = snprintf(s1, sizeof(s1), "qwe"
                    "asd"
                    "zxc");
    printf("slen=%d, s1=%s \n", slen, s1);

    slen = snprintf(s2, sizeof(s2), "qwe\
                    asd\
                    zxc");
    printf("slen=%d, s2=%s \n", slen, s2);

    return 0;
}

在这里插入图片描述
(1)s1只增加了9个字符,很完美。
(2)s2却增加了49个字符,加了很多无用的空格,使用不太安全!
(3)综上,对长字符串的换行还是用双引号更安全!


版权声明:本文为weixin_42106049原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。