c语言textout字体大小,《WINDOWS程序设计》第四章关于TEXTOUT的小问题

article/2025/10/4 17:43:58

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

《WINDOWS程序设计》第四章关于TEXTOUT的小问题

文章原文是这样说的:

您会发现常常需要显示格式化的数字跟简单的字符串。我在第二章讲到过,您不能使惯用的工具(可

爱的printf 函数)来完成这项工作,但是可以使用sprintf 和Windows 版的sprintf-wsprintf。这些函

数与printf 相似,只是把格式化字符串放到字符串中。然后,可以用TextOut 将字符串输出到显示器上。

非常方便的是,从sprintf 和wsprintf 传回的值就是字符串的长度。您可以将这个值传递给TextOut 作为

iLength 参数。下面的程序代码显示了wsprintf 与TextOut 的典型组合:

int iLength ;

TCHAR szBuffer [40] ;

其它行程序

iLength = wsprintf(szBuffer, TEXT("The sum of %i and %i is %i"),

iA, iB, iA + iB) ;

TextOut(hdc, x, y, szBuffer, iLength) ;

对于这样简单的情况,可以将nLength 的定义值与TextOut 放在同一条叙述中,从而无需定义iLength:

TextOut(hdc, x, y, szBuffer,

wsprintf(szBuffer, TEXT("The sum of %i and %i is %i"),

iA, iB, iA + iB)) ;

虽然这样子写起来不好看,但是功能与前者是一样的。

综合使用

问题1:

示例代码

iLength = wsprintf(szBuffer, TEXT("The sum of %i and %i is %i"),

iA, iB, iA + iB) ;

TextOut(hdc, x, y, szBuffer, iLength) ;

中的格式字符%i是什么意思?我翻了很多关于C语言的书,也没找到这个格式字符。

问题2:

示例程序SYSMETS1的WndProc函数在处理WM_PAINT消息时:

case WM_PAINT :

hdc = BeginPaint (hwnd, &ps) ;

for (i = 0 ; i < NUMLINES ; i++)

{

TextOut (hdc, 0, cyChar * i,

sysmetrics[i].szLabel,

lstrlen (sysmetrics[i].szLabel)) ;

TextOut (hdc, 22 * cxCaps, cyChar * i,

sysmetrics[i].szDesc,

lstrlen (sysmetrics[i].szDesc)) ;

SetTextAlign (hdc, TA_RIGHT | TA_TOP) ;

TextOut (hdc, 22 * cxCaps + 40 * cxChar, cyChar * i, szBuffer,

wsprintf (szBuffer, TEXT ("%5d"),

GetSystemMetrics (sysmetrics[i].iIndex))) ;

SetTextAlign (hdc, TA_LEFT | TA_TOP) ;

}

EndPaint (hwnd, &ps) ;

return 0 ;

其中的:

TextOut (hdc, 0, cyChar * i,

sysmetrics[i].szLabel,

lstrlen (sysmetrics[i].szLabel)) ;

TextOut (hdc, 22 * cxCaps, cyChar * i,

sysmetrics[i].szDesc,

lstrlen (sysmetrics[i].szDesc)) ;

为什么不采用wsprintf对所显示的字符串进行处理,就像后面

TextOut (hdc, 22 * cxCaps + 40 * cxChar, cyChar * i, szBuffer,

wsprintf (szBuffer, TEXT ("%5d"),

GetSystemMetrics (sysmetrics[i].iIndex))) ;

那样。


http://chatgpt.dhexx.cn/article/I63LA9rX.shtml

相关文章

c语言textout字体大小,textout函数怎么用

MFC里 用pDC->TextOut 这个函数怎么实现未知数据输我最近刚开始学计算机图形学还是个纯小白…… 不大懂 想问各路大神。比如欢迎来到CSS布局HTML,TextOut 是用来输出文本的;你说的问题,我看了半天没看懂,你可以是想先格式化字符串再输出是吧,可以如下: 用CString格式化…

Windows API——TextOut()函数学习

1.函数功能 The TextOut function writes a character string at the specified location, using the currently selected font, background color, and text color. TextOut函数使用当前选定的字体、背景颜色和文本颜色在指定位置写入字符串。 2.函数原型 BOOL TextOutA( …

35.文本输出函数TabbedTextOut、ExtTextOut、TextOut、SetBkColor

TextOut和TabbedTextOut、ExtTextOut的区别 TextOut是简单文本输出&#xff0c;不带格式的&#xff0c;可以控制文本的对齐方式 TabbedTextOut是可以控制带\t&#xff08;制表符号&#xff09;的文本 ExtTextOut是在TextOut的基础上&#xff0c;增加字符间距、背景颜色和剪裁框…

windows编程之TextOut与DrawText -- 文本输出实验

文章目录 windows编程之TextOut与DrawText -- 文本输出实验实验名称实验目的实验要求实验源码思考题 windows编程之TextOut与DrawText – 文本输出实验 实验名称 实验3-2-文本输出实验 实验目的 1&#xff0e;掌握常用的文本输出函数TextOut、DrawText的使用&#xff0c;熟悉其…

Monkey的测试

1.Monkey介绍 顾名思义&#xff0c;Monkey就是猴子&#xff0c; Monkey测试&#xff0c;就像一只猴子&#xff0c; 在电脑面前&#xff0c;乱敲键盘在测试。 猴子什么都不懂&#xff0c; 只知道乱敲 通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的…

MonkeyTest——简单无脑的移动端自动化测试(初级篇)

MonkeyTest-操作步骤&#xff1a; 1.下载Android sdk X64位&#xff0c;必须和你的电脑操作系统一致。 2.安装完成后&#xff0c;增加adb的系统环境。 A.找到sdk路径。 默认路径&#xff1a;C:\Users\ZSD\AppData\Local\Android\android-sdk\platform-tools B.打开系统环境设置…

【转】指定页面进行Monkey测试

偶然在网上查看到这个技术&#xff0c;感兴趣&#xff0c;就记录下【感谢博主分享】 1.原文再此&#xff1a;https://blog.csdn.net/liyu520131414/article/details/69357777?utm_sourceblogxgwz3 原理原文博主已经讲清楚了&#xff0c;就不粘贴了&#xff0c;下面&#xff…

Android测试-Monkey Test

APP开发过程中&#xff0c;开人员往往自己做一些功能测试和稳定性测试&#xff0c;使用MonkeyTest做压力测试是常用方法&#xff0c;及时修复ANR、CRASH提高项目组整体的开发效率。 一、Monkey简介 Monkey是一种命令行工具&#xff0c;这个工具存在于Android系统/system/frame…

Monkey测试(一)

简介常见参数日志分析简单脚本编写 一&#xff1a;简介 Monkey测试是Android平台自动化测试的一种手段&#xff0c; 通过Monkey程序模拟用户触摸屏幕、滑动&#xff0c;Trackball&#xff08;轨迹球&#xff09;、按键等操作来对设备上的程序进行压力测试&#xff0c; 检测程序…

App之Monkey测试

作为初入测试行业的小白&#xff0c;了解一些Monkey测试是很有必要的&#xff0c;在此小编整理了一些App方面Monkey测试的基础以及Monkey脚本的编写&#xff0c;希望可以帮助到大家。 1. Monkey的概念 Monkey测试又称"猴子测试",是指没有测试经验的人对产品进行乱点…

随机测试 Monkey Test

今天说一说随机测试&#xff0c;Monkey Test。翻译成中文就是猴子测试。 你可以想象一只猴子趴在电脑面前&#xff0c;拿着鼠标随便乱点的样子。 一&#xff0c;什么是随机测试&#xff1f; 软件测试中的Monkey测试是测试人员对应用程序随机输入以验证其功能的一种方法。这是…

墨者学院-Bash漏洞分析溯源

Bash漏洞分析溯源 难易程度:★★ 题目类型:命令执行 使用工具:FireFox浏览器、wwwscan 1.打开靶场&#xff0c;根据题目思路找poc.cgi。 2.使用wwwscan扫一下 发现有目录/cgi-bin 3.打开burpsuite&#xff0c;访问/cgi-bin/poc.cgi&#xff0c;截包。 send to repeater&…

vulhub漏洞复现之bash(Shellshock CVE-2014-6271)

Shellshock 破壳漏洞 CVE-2014-6271 1.漏洞概述&#xff1a; GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞&#xff0c;向环境变量值内的函数定义后添加多余的字符串会触发此漏洞&#xff0c;攻击者可利用此漏洞改变或绕过环境限制&#xff0c;以执行shell命…

linux网站漏洞修复,CentOS Bash漏洞终极修复方法

目前已确认被成功利用的软件及系统&#xff1a;所有安装GNU bash 版本小于或者等于4.3的Linux操作系统。 【Bash漏洞描述】该漏洞源于你调用的bash shell之前创建的特殊的环境变量&#xff0c;这些变量可以包含代码&#xff0c;同时会被bash执行。 【漏洞检测方法】 在服务器命…

Bash漏洞分析溯源 cgi文件 (CVE-2014-6271) --墨者学院

01 背景介绍 Bash脚本在解析某些特殊字符串时出现逻辑错误导致可以执行后面的命令&#xff0c;在一些cgi脚本中&#xff0c;数据是通过环境变量来传递的&#xff0c;这样就会形成该漏洞&#xff1b; bash通过以函数名作为环境变量名&#xff0c;以“&#xff08;&#xff09;{…

suse linux bash漏洞,bash漏洞: CVE-2014-6271漏洞及紧急修复方法

最近linux的bash漏洞闹得沸沸扬扬&#xff0c;问题还是挺严重的&#xff0c;我这里提醒大家一下早日修复吧&#xff01; 如何验证 $ env x() { :;}; echo vulnerable bash -c echo hello 在终端中运行上面的命令&#xff0c;如果返回有vulnerable&#xff0c;就说明这台服务器中…

suse linux bash漏洞,Suse11 sp3 下Bash漏洞升级修复

SuSE Linux Enterprise Server 11Bash 漏洞修复方案 系统&#xff1a;Suse-11-sp3-64 Bash:bash-4.4 1.1. Bash升级 1.1.1升级概述 大部分现行Linux操作系统自带的版本比较陈旧&#xff0c;因此需要升级bash版本。 发现现在版本存在漏洞 1.1.2 安装介质 bash-4.4.tar.gz(官网最…

墨者Bash漏洞分析溯源题解

这个漏洞是看别人的思路解出来的&#xff0c;因为在打开页面后&#xff0c;我扫描不出来其他东西&#xff0c;惭愧 后台存在一个地址&#xff0c;是http://219.153.49.228:49581/cgi-bin/poc.cgi 访问这个地址 对着地址进行抓包 将user-agent进行修改&#xff0c;修改为() { …

Bash漏洞利用!

环境&#xff1a; 服务器Centos&#xff1a;192.168.195.130 攻击机bt5&#xff1a;192.168.195.130 1、找到漏洞利用程序 必须web服务器支持cgi 这里是测试的bug.sh代码 #!/bin/bash 第一行要特别注意&#xff01; echo "Content-type: text/html" echo "&q…

redhat linux bash 漏洞,GNU Bash 漏洞及修补方法

文章引自http://loosky.net/3036.html 漏洞描述 CVE-2014-6271 ***者可构造特殊的环境变量值&#xff0c;以在这些环境变量的值中包含特定的代码&#xff0c;当 Shell 对这些环境变量求值时&#xff0c;这些特定的代码将得以在系统中执行。某些服务和应用接受未经身份者提供的环…