`
txf2004
  • 浏览: 7000356 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Windows 程序设计1、2章

 
阅读更多

windows.h 中包含了 许多其他的头文件

主要是 WINUSER.H 使用者界面

WINBASE.H kernel函数

WINDEF.H 一些类型的define

WINNT.H 支持 UNICODE形态定义

WINGDI.H 包含图形界面函数

应用程序的入口函数

int WINAPI WinMain //WINAPI #define WINAPI _stdcall 标准调用约定 很多语言都是用的这种调用约定

(HINSTANCE hInstance, //实例的句柄 用于唯一标示应用程序

HINSTANCE hPrevInstance, //先前实例的句柄在win 32 下为 0已经被摒弃

LPSTR lpCmdLine, //command line

int nShowCmd ); /窗体的显示方式

UNICODE 是为了解决ASCII不能表示所有语言的问题

wchar_t 原型 typedef wchar_t unsigned short ; //占2个字节也就是 16位 宽字 32位下

wchar_t * p=L"DSAFAFD" ; //L是long 告诉编译器使用每一个字符占2个字节

wchar_t c=L'p'; //定义宽字节 字符 即使不加L那么编译器也默认将她设置为2个字节

wcslen 求宽字节字符串的长度 不包括 '\0'

wprintf 是printf的宽字原版

对应就有wscanf 这个是再 WCHAR.H中定义的

但是 有时候 我们 的程序需要 单字节 也需要双字节 那么 wchar_t和char 的 混合就混乱了 由于处理的函数 不用我们希望有一个可以同时处理他们的 类型

TCAR 如果定义了 _UNICODE 识别字那么就是 typedef wchar_t TCHAR 如果没定义的 typedef char TCHAR

具体看 TCHAR.H源文件

#define _T(x) __T(x)
#define _TEXT(x) __T(x)

在TCHAR.H中这样定义了 就是 说我们可以用 _T __T _TEXT中的任意一种 。

对应求字符个数的函数 就是 _tcslen ()

如果定义了 _UNICODE 那么就是 #define _tcslen wcslen 否则 #define _tcslen strlen

如果要使用_UNICODE 识别那么 就在 Project ->Setting->c/c++ Language -> Preprocessor Definition中加上 _UNICODE 那么 系统的 就会默认使用_UNICODE 识别类型

在 WINNT.H 中增加了新的 类型定义 CTYPE.H 中定义了 wchar_t 为unsigned int

typedef char CHAR ;

typedef wchar_t WCHAR ;

实际上 MessageBox这个函数 并不是真正的 消息框原型

在WINUSER.H中我们找不到 MessageBox的函数定义 也就是说没有 MessageBox的函数进入点 但是 我们发现

有 MessageBoxA 和 MessageBoxW 这两个 函数 一个表示单字节 一个表示宽字 我们在使用时直观调用 MessageBox就行了 因为

#ifdef UNICODE
#define MessageBox MessageBoxW //如果定义了UNICODE 那么 就是用MessageBoxW
#else
#define MessageBox MessageBoxA
#endif // !UNICODE 非UNICODE 的时候调用的是MessageBoxA

这样的好处是一旦定义了 UNICODE 那么全都是UNICODE 表示 MessageBoxW否则就是 MessageBoxA

还有 windows定义了一组与 C语言字符串处理函数相当的函数

ILength = lstrlen (pString) ;

pString = lstrcpy (pString1, pString2) ;

pString = lstrcpyn (pString1, pString2, iCount) ;

pString = lstrcat (pString1, pString2) ;

iComp = lstrcmp (pString1, pString2) ;

iComp = lstrcmpi (pString1, pString2) ;

这些函数 其实和 TCHAR 一样的用法 如果定义了UNICODE 就是 那么这些函式将接受宽字串,否则只接受常规字串。

windows中不可以使用 printf 但是可以使用sprintf进行格式化文本

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

{int iReturn ;va_list pArgs ;

va_start (pArgs, szFormat) ;

iReturn = vsprintf (szBuffer, szFormat, pArgs) ;

va_end (pArgs) ;

return iReturn ;

}

标准版 sprintf swprintf _stprintf
我们可以对宽字 单字节的字符进行格式化

分享到:
评论

相关推荐

    Windows 程序设计Windows程序设计

    Windows程序设计2.chm章节可能进一步扩展了这些主题,可能涵盖了: 1. **Windows NT架构**:深入介绍了Windows NT内核的高级概念,如对象管理、调度、内存管理等。 2. **用户界面设计原则**:包括控件的使用、...

    windows程序设计教程

    《Windows程序设计教程》是一本深入探讨Windows操作系统环境下软件开发的专业教材。这门课程主要针对使用Visual Studio(VS)作为集成开发环境(IDE)的程序员,涵盖了从基础到高级的Windows编程概念和技术。 在...

    windows程序设计[第二版]王艳平随书程序代码

    《Windows程序设计》第二版是王艳平教授的著作,这本书深入浅出地讲解了如何在Windows操作系统下进行程序开发。随书附带的程序代码是学习本书的重要辅助资源,包含了书中所有示例程序的完整工程源代码。通过这些源...

    windows 程序设计中文版

    第1章 起步 1.1 Windows环境 1.1.1 Windows简史 1.1.2 Windows的方方面面 1.1.3 动态链接 1.2 Windows编程选项 1.2.1 API及内存管理模式 1.2.2 语言选择 1.2.3 编程环境 1.2.4 API文档 1.3 你的第一个Windows程序 ...

    Windows程序设计中文版1

    《Windows程序设计中文版1》是一本专注于教授如何在Windows操作系统环境下进行程序开发的专业书籍。这本书的中文版为初学者和有经验的开发者提供了详细且深入的指导,旨在帮助读者理解Windows API的本质以及如何利用...

    MFC windows程序设计(第二版)及源码

    《MFC Windows程序设计(第二版)》是一本专注于Windows应用程序开发的专业书籍,它深入浅出地介绍了使用Microsoft Foundation Classes (MFC)库进行Windows应用程序设计的方法和技巧。MFC是微软提供的一种C++类库,...

    《C#语言Windows程序设计》.(于国防,李剑).[PDF]

    根据提供的信息,《C#语言Windows程序设计》这本书主要聚焦于使用C#进行Windows应用程序的开发。下面将基于书名、描述以及部分标签信息,详细展开关于C#在Windows程序设计中的应用及相关知识点。 ### C#简介 C#...

    windows程序设计第三版

    《Windows程序设计第三版》是计算机科学领域的一本经典教材,主要关注于Windows操作系统下的应用程序开发。这本书深入探讨了如何利用Microsoft的API(应用程序接口)和其他相关工具来编写高效、稳定的本地应用程序。...

    Windows程序设计_第5版珍藏版.pdf

    1. **书籍概述**:《Windows程序设计(第5版 珍藏版)》是一部经典的Windows编程指南,自出版以来已经帮助近50万名Windows程序员入门并成长为技术专家。 2. **目标读者**:适合任何层次的Windows程序员,无论是初学...

    Windows程序设计(中文高清pdf)

    《Windows程序设计》是一本深度探讨Windows操作系统下程序开发的经典著作。这本书主要涵盖了Windows API的使用,以及如何利用这些API创建高效、稳定的Windows应用程序。它不仅适合初学者,也对有经验的程序员提供了...

    Windows程序设计PPT(1-6章) 曹汉清版

    《Windows程序设计PPT(1-6章)曹汉清版》是一份涵盖了Windows程序设计基础知识的教程,由知名专家曹汉清编撰。这份PPT深入浅出地讲解了Windows编程的核心概念和技术,旨在帮助学习者理解并掌握Windows环境下应用...

    windows程序设计基础1

    在Windows程序设计基础1的学习中,我们主要关注的是如何在微软操作系统环境下开发应用程序。Windows程序设计涉及多个关键概念和技术,包括API调用、消息循环、窗口类、线程管理以及资源处理等。以下是对这些核心知识...

    Windows 程序设计(第5版)(上、下册)--详细书签版

    他在《Microsoft Systems Joumal》1986年 12月号上发表了第一篇关于 Windows程序设计的杂志论文。从 1986年到 1995年,他为《PC Magazine》撰写“Environments”专栏,给读者介绍了Windows和OS/2程序设计的许多方面...

    windows程序设计第五版源代码

    《Windows程序设计第五版》是计算机科学领域中一本经典的书籍,主要讲解如何在Windows操作系统下进行应用程序开发。这本书深入浅出地介绍了Windows API(应用程序接口)的使用,涵盖了从基本的窗口创建到复杂的系统...

    windows程序设计源代码

    《Windows程序设计源代码》是针对想要深入理解Windows操作系统下程序设计的开发者的重要参考资料,尤其适合初学者和有经验的程序员。源代码是学习过程中的关键部分,它能直观地展示理论知识在实际编程中的应用,帮助...

    Windows程序设计实验报告

    1. **Windows消息系统**:Windows程序设计的核心是消息驱动机制。每个用户交互,如点击按钮或移动鼠标,都会产生一个消息,这些消息被放入消息队列,然后由应用程序的主线程进行处理。理解消息循环和消息队列的工作...

    MFC Windows程序设计(第2版修订版)--源代码

     《mfc windows程序设计(第2版)》是对其极为经典的第1版的全面更新,本书不仅扩展了已被认为是权威的关于microsoft用于windows api的功能强大的c++类库的阐述,还新增了有关com、ole和activex的内容。本书的作者...

    windows程序设计(第5版珍藏版)配书光盘

    《Windows程序设计(第5版 珍藏版)》是深入探讨Windows操作系统下程序开发的经典之作。本书针对的是有经验的程序员,旨在提供全面、深入的Windows API知识,涵盖了从基本的窗口创建到复杂的系统级编程的广泛主题。...

Global site tag (gtag.js) - Google Analytics