C++ STL 基本使用Win32 版
看一下STL vector 向量容器的基本使用;CFree 5.0,Win7;
创建工程时选择C++语言;STL是C++的;如果是写纯API程序也可以选择C语言;
看一下CFree的包含文件;包含对STL的支持;
#include <windows.h>
#include "resource.h"
#include <vector>
#include <algorithm>using namespace std;LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);HINSTANCE hInst;
TCHAR szClassName[] = TEXT("vecDemo");
vector<int> vec1;
vector<int>::iterator itr1;
vector<int>::iterator itr2;int WINAPI
WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil)
{HWND hwnd;MSG messages;WNDCLASSEX wincl;hInst = hThisInstance;wincl.hInstance = hThisInstance;wincl.lpszClassName = szClassName;wincl.lpfnWndProc = WindowProcedure;wincl.style = CS_DBLCLKS;wincl.cbSize = sizeof (WNDCLASSEX);wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);wincl.hCursor = LoadCursor (NULL, IDC_ARROW);wincl.lpszMenuName = MAKEINTRESOURCE (IDC_VECDEMO);wincl.cbClsExtra = 0;wincl.cbWndExtra = 0;wincl.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);if (!RegisterClassEx (&wincl))return 0;hwnd = CreateWindowEx (0,szClassName,TEXT("vecDemo"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,250,250,HWND_DESKTOP,NULL,hThisInstance,NULL);ShowWindow (hwnd, nFunsterStil);while (GetMessage (&messages, NULL, 0, 0)){TranslateMessage(&messages);DispatchMessage(&messages);}return messages.wParam;
}LRESULT CALLBACK
WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{PAINTSTRUCT ps;HDC hdc;RECT rt;int y=0;char szBuffer[100]; switch (message){case WM_COMMAND:switch (LOWORD(wParam)){case IDM_vec: hdc=GetDC(hwnd); vec1.push_back(7);vec1.push_back(2);vec1.push_back(9); // vec1: {7, 2, 9}itr1 = vec1.begin();itr2 = vec1.end();for (vector<int>::iterator itr = itr1; itr!=itr2; ++itr){wsprintf(szBuffer, "%d",*itr);TextOut(hdc,60,25+y*20,szBuffer,lstrlen(szBuffer)); y=y+1; //y坐标增加一行 }sort(itr1, itr2); // vec1: {2, 7, 9}y=0;for (vector<int>::iterator itr = itr1; itr!=itr2; ++itr){wsprintf(szBuffer, "%d",*itr);TextOut(hdc,120,25+y*20,szBuffer,lstrlen(szBuffer)); y=y+1; //y坐标增加一行 }break;case IDM_ABOUT:MessageBox (hwnd, TEXT ("vecDemo v1.0\nCopyright (C) 2020\n by bo"),TEXT ("vecDemo"), MB_OK | MB_ICONINFORMATION);break;case IDM_EXIT:DestroyWindow(hwnd);break;default:return DefWindowProc(hwnd, message, wParam, lParam); }break;case WM_CREATE:break;case WM_PAINT:hdc = BeginPaint(hwnd, &ps); GetClientRect(hwnd, &rt); EndPaint(hwnd, &ps);break;case WM_DESTROY:PostQuitMessage (0);break;default:return DefWindowProc (hwnd, message, wParam, lParam);}return 0;
}
运行起来如下;
定义一个vector,然后往里面push数据,输出;排序;然后再输出;
vector需要包含 <vector>;排序需要包含 <algorithm>;
工程;
资源文件,头文件;
#include "resource.h"
#include <windows.h>/
//
// Menu
//IDC_VECDEMO MENU
BEGINPOPUP "&File"BEGINMENUITEM "STL vec Demo", IDM_vecMENUITEM "E&xit", IDM_EXITENDPOPUP "&Help"BEGINMENUITEM "&About ...", IDM_ABOUTEND
END
#define IDM_EXIT 10001
#define IDM_ABOUT 10002#define IDC_VECDEMO 10101
#define IDD_ABOUTBOX 10102
#define IDM_vec 40001
C++ STL 基本使用Win32 版相关推荐
- 告别最好用的微软UWP应用OneNote 微软已经开始将其替换为Win32版
关注 OneNote 的用户应该都知道微软正在整合 OneNote,也就是 UWP 版的 OneNote 和 Win32 版的 OneNote,这并意味着微软要重新开发一个新的 OneNote,而是 ...
- win32版QQ隐藏功能,气泡消息显示详细时间
偶然发现win32版QQ的一个隐藏功能,QQ在电脑上的消息可以显示为气泡模式和经典模式,气泡模式通常情况下不会显示详细的时间信息,QQ有一个隐藏功能,按鼠标中键可以显示一会详细时间,效果如图 正常是这 ...
- C++类的基本概念演示Win32版
演示C++基本的类的概念,使用Win32:做一个简单的类: #include <windows.h> #include "resource.h"LRESULT CALL ...
- win32 临界区和简单实例Demo(win32版)
一 win32 临界区 临界区是一种防止多个线程同时执行一个特定代码段的机制.如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他的所有试图访问此临界区的线程将被挂起,并且一直持续到进入临界区 ...
- 欧拉定理和C语言实现 - win32版
欧拉定理 在数论中,欧拉定理(Euler Theorem,也称费马-欧拉定理或欧拉函数定理)是一个关于同余的性质. 欧拉定理有什么用?欧拉定理是RSA算法的核心.要实现RSA算法,需要编程实现此定理. ...
- 字符串的前缀与后缀和简单示例程序win32版
定义: 字符串的前缀:符号串左部的任意子串(或者说是字符串的任意首部) 字符串的后缀:符号串右部的任意子串(或者说是字符串的任意尾部) 举例 比如说有一个长度为5字符串 x = "ababc ...
- C++函数模板Demo - win32 版
C++ 模板 模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码. 模板是创建泛型类或函数的蓝图或公式.库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念. 每个 ...
- C++ 异常处理Demo - win32 版
throw关键字用来抛出一个异常,这个异常会被 try 检测到,进而被 catch 捕获. 异常既然是一份数据,那么就应该有数据类型.C++ 规定,异常类型可以是 int.char.float.boo ...
- C语言回调函数Demo - Win32版
回调函数:通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在特定的事件 ...
最新文章
- 2021年大数据Flink(二十三):​​​​​​​Watermaker案例演示
- ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性
- php lamp环境搭建,lamp环境搭建 --lnmp环境搭建_无需整理
- 在CesiumVR基础上实现3D左右立体视觉
- Google发布用于Google Cloud的.Net API
- 机器人学一些概念2——四元数,D-H 参数
- 从频率角度理解为什么深度可以加速神经网络的训练
- QT的QGLWidget类的使用
- 如何理解虚表及其计算含虚函数的类的大小
- stanford-parser for C#
- 0-1背包问题的简单解释
- form表单input使用disabled后提交不能获取表单值的解决方法
- 2021年度训练联盟热身训练赛第四场,签到题CDF
- 【天线的主要技术指标及其含义-带宽 】
- 大数据工具千千万,到底谁才是最强王者?
- 亚马逊工资翻倍!本地人士担忧:房价又要...
- Python Pandas DataFrame 表格 打印输出不能对齐的两种解决方案
- 浪潮网上测评没通过_浪潮集团面试经验
- 闰秒是什么?ntp如何处理闰秒?
- Windows 7 繁体中文MSDN原版
热门文章
- 用Qt开发游戏时一些问题的解决方法(一)
- 通话录音_谁说苹果手机不能通话录音?四种方法教给你!别再说你不知道了
- 简单记录一下使用python pyppeteer爬取努努书坊的爬虫
- CososJS学习笔记(1) 环境配置(填坑版,让你少走弯路!)
- Oracle 数据库利用sql语句杀掉用户session进程,“ORA-01940: 无法删除当前连接的用户“问题解决办法
- Python 技术篇-python生成html源码功能实现演示,html代码自动生成技巧,列表生成式的灵活应用
- Python 微信机器人:itchat库识别消息来源于群聊还是个人
- Python 小把戏之图片转字符串
- STM32F105的时钟配置
- poj2976Dropping tests (二分搜索+还是涉及昨天遇见的o1分数规划)