文字输出
来源:互联网 发布:cda数据分析师好考吗 编辑:程序博客网 时间:2024/04/29 11:53
1. 命令行模式的字符输出
在命令行输出模式,可以使用printf和sprintf函数:
int printf(const char* format, ...);
int sprintf(char *szBuffer, const char* format, ...);
但是,坏消息是:在windows程序中不能使用printf函数;
好消息是:windows程序中可以使用sprintf函数。
在windows中使用MessageBox可以得到同样或者更优于printf的结果。
2. windows消息框输出
在使用sprintf的时候还要考虑一个问题,那就是你所定义的字符缓冲区必须足够大以存放结果,vsprintf是sprintf的一个变形,它只有3个参数。
int vsprintf(char *szBuffer, const char* format, va_list ap)
vsprintf的前两个参数与sprintf相同,一个用于保存结果的字符缓冲区和一个格式字符串;第三个参数是指向格式化参数的数组的指针。实际上该指针指向在堆栈中供函数呼叫的变量。
va_list, va_start和va_end宏(在stdarg.h中定义),帮助我们处理堆栈指针。
使用vsprintf函数,sprintf函数可以这样写:
int sprintf(char *szBuf, const char *format, ...)
{
int nReturn;
va_list va;
va_start(va, format);
iReturn = vsprintf(szBuf, format, va);
va_end(va);
return iReturn;
}
va_start宏将va设置为指向一个堆栈变量,该变量地址在堆栈参数format上面。
Unicode问题:windows的wsprintf和wvsprintf函数在功能上和sprintf和vsprintf相同,但他们不支持浮点格式。
格式化消息框:
int CDECL ErrMsg(TCHAR* szCaption, TCHAR* szFormat, ...)
{
TCHAR szBuffer[1024];
va_list va;
va_start(va, szFormat);
wvsprintf(szBuffer, szFormat, va);
va_end(va);
return MessageBox(NULL, szBuffer, szCaption, 0);
}
- 文字输出
- 文字输出
- 文字输出
- MFC中的文字输出
- 设置输出文本文字
- Windows程序设计:文字输出
- 第四章 输出文字
- shell 输出颜色文字
- 文字倒序输出
- 输出机密文字
- python 输出彩色文字
- [Python]彩色文字输出
- Java输出竖排文字
- 窗口输出文字、图形
- 1.1输出一行文字
- 汇编输出文字
- Windows程序设计-输出文字
- GD2输出文字
- 在页面中动态载入外部javascript和CSS
- 透明精灵
- 学习笔记(二)
- jdbc事务
- 学习笔记(三)
- 文字输出
- 欧几里得算法
- 男生给女生最牛B的告白
- 拓扑排序的模板
- AJax时序图
- 坏蛋是怎样炼成的
- 教你如何为马尔济斯美容
- 怀孕前先对付10大传染病
- CDN(Content Delivery Network)最核心的目的就是提高互联网访问质量