c++输出调试信息到vs中的输出窗口

本文介绍了如何使用C++的OutputDebugString函数将调试信息输出到Visual Studio的输出窗口,并详细讲解了sprintf系列函数的用法,包括不同格式化规定符的使用以及安全版本的sprintf_s函数。还提供了使用这些函数将16进制char数组输出到VS输出窗口的示例。
摘要由CSDN通过智能技术生成

OutputDebugString函数

OutputDebugString(L"字符串");(VS中,#define OutputDebugString OutputDebugStringW )
OutputDebugStringW(L"字符串");
OutputDebugStringA(“字符串”);

sprintf、swprintf、wsprintf、sprintf_s、snprintf、asprintf、vsprintf函数

sprintf、swprintf函数:将格式化数据写入字符串缓冲区中
int sprintf(char* buffer,const char* format [,argument] … );返回值为存储在buffer中的字节(bytes)的数目,不包含终止空字符
int swprintf(wchar_t
buffer,const wchar_t
format [,**argument] … );返回值为存储在buffer中的宽字符的数目,不包含终止空宽字符
buffer-指向将要写入的字符串的缓冲区
format-格式控制字符串
[argument]…-可选参数,可以是任何类型的数据(使用此函数可将数字转为字符串)
格式化规定符:

  • %d 格式化为十进制有符号整数输出到缓冲区
  • %u 格式化为十进制无符号整数输出到缓冲区
  • %f 格式化为浮点数输出到缓冲区
  • %s 格式化为字符串输出到缓冲区
  • %c 格式化为单个字符输出到缓冲区
  • %e 格式化为指数形式的浮点数输出到缓冲区
  • %x 格式化为无符号以十六进制表示的整数(a-f小写输出)输出到缓冲区
  • %X 格式化为无符号以十六进制表示的整数(a-f大写输出)输出到缓冲区
  • %0 格式化为无符号以八进制表示的整数输出到缓冲区
  • %g 格式化为自动选择合适的表示法输出到缓冲区
  • 说明:
    可以在"%“和字母之间插进数字表示最大场宽。例如: %3d 表示输出3位整型数,不够3位右对齐。%9.2f 表示输出场宽为9的浮点数,其中小数位为2,整数位为6,小数点占一位,不够9位右对齐。%8s 表示输出8个字符的字符串,不够8个字符右对齐。如果字符串的长度、或整型数位数超过说明的场宽,将按其实际长度输出。但对浮点数,若整数部分位数超过了说明的整数位宽度,将按实际整数位输出;若小数部分位数超过了说明的小数位宽度,则按说明的宽度以四舍五入输出。另外,若想在输出值前加一些0,就应在场宽项前加个0。例如:
    %04d 表示在输出一个小于4位的数值时,将在前面补0使其总宽度为4位。如果用浮点数表示字符或整型量的输出格式,小数点后的数字代表最大宽度,小数点前的数字代表最小宽度。例如: %6.9s 表示显示一个长度不小于6且不大于9的字符串。若大于9,则第9个字符以后的内容将被删除。可以在”%“和字母之间加小写字母l,表示输出的是长型数。例如: %ld 表示输出long整数,%lf 表示输出double浮点数。 可以控制输出左对齐或右对齐,即在”%“和字母之间加入一个”-" 号可说明输出为左对齐,否则为右对齐。例如: %-7d 表示输出7位整数左对齐。%-10s 表示输出10个字符左对齐。
    wsprintf函数:将一系列的字符和数值输入到字符串缓冲区。wsprintf其实分为 wsprintfA 和 wsprintfW。VS中,#define wsprintf wsprintfW
    int __cdecl wsprintf(LPWSTR lpOut,LPCWSTR lpFmt,…);
    wsprintf的输出缓冲区lpOut有 1024 字符限制,而且不支持浮点数的输入输出。
    swprintf(FPSString, L"%f", FPS); //正确
    wsprintf(FPSString, L"%f", FPS); //错误("%f&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值