<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

  • 随笔 - 24
  • 文章 - 0
  • 评论 - 17
  • 引用 - 0

常用链接

留言簿(4)

随笔分类

随笔档案

相册

搜索

  •  

最新评论

阅读排行榜

评论排行榜

用sprintf格式化字符串
写代码时经常会用到用sprintf格式化某个字符串,比如:
sprintf(mess,"This is field 1,Field 2,Field 3\n");

当这样的域很多的时候,一行放不下,为了便于阅读,需要把它们分成几行:
sprintf(mess,"This is filed 1,\
    Field 2,\
    Field 3,\
    ...
    Field n\n");

但是,这样带来个问题,就是格式化后的mess的各个域之间就产生了不想要的字符(如空格等,使用UE可以清楚的看到),原因是由于使用了续行符"\"(line-continuation character),而不用续行符又无法通过编译(C2001)。

这时可以用双引号来把各个域分隔开,这样就既解决了可读性的问题,又解决了编译问题:
sprintf(mess,"This is filed 1,"
    "Field 2,"
    "Field 3,"
    ...
    "Field n\n");


posted on 2007-07-31 16:43 小葱蘸酱 阅读(2504) 评论(2)  编辑 收藏 引用 所属分类: 编码点滴

评论

# re: 用sprintf格式化字符串 2007-08-05 18:21 营养快线

顶格写就不会有空格了
sprintf(mess,"This is filed 1,\
Field 2,\
Field 3,\
...
Field n\n");
  回复  更多评论    

# re: 用sprintf格式化字符串[未登录] 2007-08-29 11:14 小葱蘸酱

可是那样就改变了代码的缩进,破坏了整体风格了。
  回复  更多评论    

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理