设为首页 加入收藏

TOP

Unicode简介(十八)
2010-12-30 21:07:57 】 浏览:18621
Tags:Unicode 简介
printf。

还有一个好消息,那就是仍然可以使用sprintf及sprintf系列中的其他函式来显示文字。这些函式除了将内容格式化输出到函式第一个参数所提供的字串缓冲区以外,其功能与printfI相同。然後便可对该字串进行操作(例如将其传给MessageBox)。

如果您从未使用过sprintf (我第一次开始写Windows程式时也没用过此函式),这里有一个简短的执行实体,printf函式说明如下:

int printf (const char * szFormat, ...) ;

第一个参数是一个格式字串,後面是与格式字串中的代码相对应的不同类型多个参数。

sprintf函式定义如下:

int sprintf (char * szBuffer, const char * szFormat, ...) ;

第一个参数是字元缓冲区;後面是一个格式字串。Sprintf不是将格式化结果标准输出,而是将其存入szBuffer。该函式返回该字串的长度。在文字模式程式设计中,

printf ("The sum of %i and %i is %i", 5, 3, 5+3) ;

的功能相同於

char szBuffer [100] ;
sprintf (szBuffer, "The sum of %i and %i is %i", 5, 3, 5+3) ;
puts (szBuffer) ;

在Windows中,使用MessageBox显示结果优於puts。

几乎每个人都经历过,当格式字串与被格式化的变数不合时,可能使printf执行错误并可能造成程式当掉。使用sprintf时,您不但要担心这些,而且还有一个新的负担:您定义的字串缓冲区必须足够大以存放结果。Microsoft专用函式_snprintf解决了这一问题,此函式引进了另一个参数,表示以字元计算的缓冲区大小。

vsprintf是sprintf的一个变形,它只有三个参数。vsprintf用於执行有多个参数的自订函式,类似printf格式。vsprintf的前两个参数与sprintf相同:一个用於保存结果的字元缓冲区和一个格式字串。第三个参数是指向格式化参数阵列的指标。实际上,该指标指向在堆叠中供函式呼叫的变数。va_list、va_start和va_end巨集(在STDARG.H中定义)帮助我们处理堆叠指标。本章最後的SCRNSIZE程式展示了使用这些巨集的方法。使用vsprintf函式

首页 上一页 15 16 17 18 19 20 21 下一页 尾页 18/21/21
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇视窗和讯息 下一篇没有了

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目