新闻  |   论坛  |   博客  |   在线研讨会
C 长字符串换行方法
电子禅石 | 2021-09-15 10:33:56    阅读:52   发布文章

C中字符串有时候会出现很长的情况,如果不换行书写查看起来很不方便。

   长字符串拆分成多行处理也是C规范的一部分。

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

 

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

 

  上个例子大家对比下就明白了!

复制代码
 1 int main() 2 { 3  4     char s1[50] , s2[50]; 5     int slen=0; 6     slen = snprintf(s1, sizeof(s1), "qwe" 7                     "asd" 8                     "zxc"); 9     printf("slen=%d, s1=%s \n", slen, s1);10 11     slen = snprintf(s2, sizeof(s2), "qwe\12                     asd\13                     zxc");14     printf("slen=%d, s2=%s \n", slen, s2);15 16     return 0;17 }
复制代码

说明:s1只增加了9个字符,很完美

   s2却增加了49个字符,加了很多无用的空格,使用不太安全!

综上,对长字符串的换行还是用双引号更安全!

const char *prompt = {
" ########################## CCC 2.0 NFC 数字钥匙演示系统 V1.0 ########################## \n"
" ##                                                                                  ## \n"
" ##                               配对成功                                           ## \n"      
" ##                                                                                  ## \n"         
" ###################################################################################### \n"
"\n\n\n\n"

" ########################## CCC 2.0 NFC 数字钥匙演示系统 V1.0 ########################## \n"
" ##                                                                                  ## \n"
" ##                              标准认证成功                                        ## \n"      
" ##                                                                                  ## \n"         
" ###################################################################################### \n"
"\n\n\n\n"

" ########################## CCC 2.0 NFC 数字钥匙演示系统 V1.0 ########################## \n"
" ##                                                                                  ## \n"
" ##                              快速认证成功                                        ## \n"      
" ##                                                                                  ## \n"         
" ###################################################################################### \n"
"\n\n\n\n"

" ########################## CCC 2.0 NFC 数字钥匙演示系统 V1.0 ########################## \n"
" ##                                                                                  ## \n"
" ##                              认证不通过                                          ## \n"      
" ##                                                                                  ## \n"         
" ###################################################################################### \n"
"\n\n\n\n"
};


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客