
C/C++
星之河
这个作者很懒,什么都没留下…
展开
-
VC中怎样点击按钮弹出一个对话框
1、在资源窗口中右键单击"Dialog"资源项,选"Insert Dialog",会新建一个对话框。2、然后右键单击对话框的空白部分,选ClassWizard,会提示你为这个对话框生成一个类,按提示的步骤设置好后,一个新的对话框类就出现了,类名你自己取,比如是CTestDlg。3、在主对话框文档的头部(跟其它#include放在一起)加入你要弹出的对话框的头文件#include "CTes原创 2013-04-10 10:08:58 · 4465 阅读 · 0 评论 -
线程间的通信
线程间的通信1.线程之间的通信简介一般而言,在一个应用程序中(即进程),一个线程往往不是孤立存在的,常常需要和其它线程通信,以执行特定的任务。如主线程和次线程,次线程与次线程,工作线程和用户界面线程等。这样,线程与线程间必定有一个信息传递的渠道。这种线程间的通信不但是难以避免的,而且在多线程编程中也是复杂和频繁的。线程间的通信涉及到4个问题:(1) 线程间如何传递信息转载 2014-01-11 10:54:43 · 902 阅读 · 0 评论 -
SetDlgItemText
函数功能:该函数设置对话框中控件的文本和标题。函数原型:BOOLSetDlgltemText(HWND hDlg,int nlDDlgltem,LPCTSTR IpString);参数:hDlg:指定含有控件的对话框。nlDDlgltem:标识带有将被设置的标题和文本的控件。IpString:指向一个以NULL结尾的字符串指针,该字符串指针包含了将被复制到控转载 2014-01-11 11:37:47 · 5957 阅读 · 0 评论 -
c++多线程读写窗体控件_自定义消息的实现
c++多线程读写窗体控件_自定义消息的实现一、c++多线程读写窗体控件 这个我研究啦半天终于搞定共享给大家: 基本代码为 1.线程定义在头文件.H中 protected: HANDLE hThread1; static DWORD WINAPI fun1( LPVOID lpParameter ); 2. 线程函数 DWORD WI转载 2014-01-11 14:20:05 · 2139 阅读 · 0 评论 -
程序的编译过程
上次我已经说过,程序库分为静态和动态两种,今天先从程序的编译过程入手,简单介绍一下静态库和程序编译的基础知识,至于更加复杂更加深入的内容、以及动态库、运行时方面的东西,下次再说。 静态库是什么意思呢?举例来说,你自己写的某个程序用到了opencv和highgui中的某些函数或变量(总之是需要占用内存的东西,就需要一个地址), 而opencv和highgui在发布时都是以库的形式发转载 2014-01-11 21:01:06 · 870 阅读 · 0 评论 -
使用SerialPort类设计串口通讯程序
【IT168 技术文档】 一.概述 在Visual Studio 6.0中编写串口通讯程序,一般都使用Microsoft Communication Control(简称MSComm)的通讯控件,只要通 过对此控件的属性和事件进行相应编程操作,就可以轻松地实现串口通讯。但在Microsoft.Net技术广泛应用的今天,Visual Studio.Net没有将此控件加入转载 2014-03-04 16:47:51 · 1222 阅读 · 0 评论 -
VS2010中代码折叠或展开方法
Ctrl-M-O 折叠所有方法 Ctrl-M-P 展开所有方法并停止大纲显示(不可以再折叠了) Ctrl-M-M 折叠或展开当前方法 Ctrl-M-L展开所有方法转载 2014-03-05 17:01:16 · 4471 阅读 · 0 评论 -
VC中check box的两种用法
在界面设计中,我们经常会用到Check Box这个控件,Check Box 的使用方法与Radio Button 的用法相似,但比它要简单得多。一、设定Check Box为 选中状态((CButton*)GetDlgItem(ID号))->SetCheck(TRUE);(SetCheck(FALSE)) 为不选中,如果想初始化为选中状态,则在InitDlg函数中加入下面这段转载 2014-03-14 22:24:34 · 4642 阅读 · 0 评论 -
CreateFile在串口中的运用
在32位的windows系统中,串口和其他通信设备是作为文件处理的。对串口的操作和对文件的操作是完全一样的。通信以调用CreateFile()开始。 函数原型如下:HANDLE CreateFile( LPCTSTR lpFileName, //指向文件名的指针 DWORD dwDesiredAccess, //访问模式(写/读)转载 2014-04-06 08:54:47 · 4603 阅读 · 0 评论 -
揭开Socket编程的面纱
对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?什么是TCP/IP、UDP? TCP/IP(Transmi转载 2014-06-17 09:46:33 · 644 阅读 · 0 评论 -
VC中MessageBox的常见用法
MessageBox用法消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合。1.MessageBox("这是一个最简单的消息框!");2.MessageBox("这是一个有标题的消息框!","标题"); 3.MessageBox("这是一个确定 取消的消息框!","标题", MB_OKCANCEL ); 4.MessageB转载 2014-08-09 10:07:03 · 680 阅读 · 0 评论 -
CreateEvent的用法
CreateEvent的用法收藏新一篇: PreCreateWindow的作用和使用方法 | 旧一篇: VC中_T()的作用事件对象就像一个开关:它只有两种状态---开和关。当一个事件处于”开”状态,我们称其为”有信号”否则称为”无信号”。可以在一个线程的执行函数中创建一个事件对象,然后观察它的状态,如果是”无信号”就让该线程睡眠,这样该线程占用的CPU时间就比较少。产生事件对转载 2014-08-13 09:57:27 · 2801 阅读 · 0 评论 -
C语言常用数值类型转换函数
三、C语言常用数值类型转换函数1、atof(将字符串转换成浮点型数)2、atoi(将字符串转换成整型数)3、atol(将字符串转换成长整型数)4、strtod(将字符串转换成浮点数)5、strtol(将字符串转换成长整型数)6、strtoul(将字符串转换成无符号长整型数)7、toascii(将整型数转换成合法的ASCII 码字符)8、toupper(将小写字母转载 2014-10-21 15:28:03 · 1235 阅读 · 0 评论 -
“浅拷贝”与“深拷贝”
C++中对象的复制就如同“克隆”,用一个已有的对象快速地复制出多个完全相同的对象。一般而言,以下三种情况都会使用到对象的复制:(1)建立一个新对象,并用另一个同类的已有对象对新对象进行初始化,例如:[cpp] view plaincopyclass Rect { private: int width; int height; }; R转载 2015-04-22 19:43:40 · 791 阅读 · 0 评论 -
struct和typedef struct彻底明白了
分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明) 这里的Stu实际上就是转载 2015-04-25 15:29:49 · 616 阅读 · 0 评论 -
C/C++ const类型用法总结
const类型定义:指明变量或对象的值是不能被更新,引入目的是为了取代预编译指令 **************常量必须被初始化*************************cons的作用 (1)可以定义const常量 例如: const int Max=100; int Array[Max];转载 2015-04-25 15:54:09 · 654 阅读 · 0 评论 -
CString与double互相转化
1.double转化为CStringhttp://www.sowsoy.com/topics-410.htmlC++中doulbe/float/int转为CString方法在MFC程序中,可以使用Format方法方便的实现int、float和double等数字类型转换为CString字符串。以下是CString的Format支持的格式说明:转载 2013-12-16 16:48:27 · 28800 阅读 · 1 评论 -
VS2010调试
在同一文档中,一个函数A调用另一个函数B,函数B的定义须在A的前面,因为编译的过程是按顺序的,如果A函数实现在前面,B还没有编译,就会出现调用错误。原创 2013-11-27 21:08:05 · 905 阅读 · 0 评论 -
VC多线程中全局函数如何调用对话框类成员变量及成员函数
最近做VC时,需要用到多线程。在网上基于对话框的MFC例程中,网上所有例程均将线程函数定义为全局函数,而我在全局函数中需要用到对话框Dlg类成员函数,此时使用This指针。 1)先申请个全局void类型指针: void *pdlg;2)在dlg InitDialog中,将该void指针初始化为this: pdlg= this;3)在全局函数中加入以下程序原创 2013-04-08 21:02:32 · 3883 阅读 · 0 评论 -
Vector的使用
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。 为了可以使用vector,必须在你的头文件中包含下面的代码: #include vector属于std命名域的,因此需转载 2013-04-27 11:04:09 · 720 阅读 · 0 评论 -
CFileDialog 使用
构造CFileDialog ST对象。CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter转载 2013-04-27 10:36:55 · 1593 阅读 · 0 评论 -
CString和CStringA之间的转换
使用UNICODE字符集编程时,总是需要使用那些不支持UNICODE的库,例如sqlite3,Lua等必须使用char*类型的。这个时候用CStringA是最好的。另外CStringA与CString可以灵活地随意转换赋值,注意不能这样用:CString str1;CStringA str2=str1;而要这样用:CStringA str2;str2=str1;转载 2013-04-27 11:10:56 · 1149 阅读 · 0 评论 -
VC资源视图中显示在另一个编辑器中打开时解决办法
今天遇到了这样的情况,找了半天,只需要将这边打开的一些cpp,.h等一些文件关闭就可以了。原创 2013-04-30 16:19:43 · 3021 阅读 · 1 评论 -
System::String *,char*,string 等的类型转换
在VC 的编程中,经常会用到各种类型的转换,在MFC中textbox等控件得到的返回类型是System::String *,而写入的文件要求是 const char *类型的,下面介绍一些转换的方法: string 转 CString CString.format("%s", string.c_str()); 方法2转载 2013-05-06 09:49:38 · 1661 阅读 · 1 评论 -
va_list、va_start、va_arg、va_end的原理与使用
概述由于在C语言中没有函数重载,解决不定数目函数参数问题变得比较麻烦;即使采用C++,如果参数个数不能确定,也很难采用函数重载.对这种情况,有些人采用指针参数来解决问题.下面就c语言中处理不定参数数目的问题进行讨论.定义大家先看几宏.在VC++6.0的include有一个stdarg.h头文件,有如下几个宏定义:#define _INTSIZEOF(n) ((sizeof(n)转载 2013-07-02 09:36:31 · 707 阅读 · 0 评论 -
C语言volatile关键字
C语言volatile关键字volatile 是易变的、不稳定的意思。很多人根本就没见过这个关键字,不知道它的存在。也有很多程序员知道它的存在,但从来没用过它。我对它有种“杨家有女初长成,养在深闺人未识” 的感觉。volatile 关键字和const 一样是一种类型修饰符,用它修饰的变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译转载 2013-07-02 19:14:02 · 780 阅读 · 0 评论 -
vc2010 实践笔记008---------error C2572: “....”: 重定义默认参数
问:我自己写了一个操作SQLServer的类,其中构造函数的声明如下:CSql(const char * pUser,const char * pPwd,const char * pHost = "local" );第三个参数pHost设置为有默认值参数,编译时出错:错误 1error C2572: “CSql::CSql”: 重定义默认参数 :参数 3 d:\我的文档\vis转载 2013-07-05 20:13:07 · 1643 阅读 · 0 评论 -
手动为VC++控件添加变量
不用类向导添加控件变量:1. 在控件对应的类的头文件中添加相应的变量声明(如:CString m_strResult)2. 在类的实现文件中的DoDataExchange(CDataExchange* pDX)函数中添加变量和控件的映射关系: DDX _控件类型(pDX, 控件ID,变量名)。如为编辑框IDC_ERESULT添加变量m_strResult可以写成 DDX_Text(原创 2013-08-19 15:28:20 · 2498 阅读 · 0 评论 -
try、catch、finally用法
try { //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 } catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 } finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally }转载 2013-08-20 11:17:02 · 26358 阅读 · 0 评论 -
C++中clock用法
clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。该函数返回值是硬件滴答数当然,你也可以用clock函数来计算你的机器运行一个循环或者处理其它事件到底花了多少时间:#include #include stdlib.h>#include int main(void){long i = 10000000L;原创 2013-08-20 15:23:15 · 6287 阅读 · 0 评论 -
C++代码优化方法总结
首先声明此文章不是我所写,是转载的一篇文章,但是我觉得很具有实用性,就当是记录吧:优化是一个非常大的主题,本文并不是去深入探讨性能分析理论,算法的效率,况且我也没有这个能力。我只是想把一些可以简单的应用到你的C++代码中的优化技术总结在这里,这样,当你遇到几种不同的编程策略的时候,就可以对每种策略的性能进行一个大概的估计。这也是本文的目的之所在。目录: 一. 优化之前转载 2013-09-04 19:36:20 · 942 阅读 · 0 评论 -
MFC中的文件读写技术
计算机室如何管理自身所存放着的大量的信息的呢?windows的磁盘管理程序为我们提供了一套严密而又高效的信息组织形式--硬盘上的信息是以文件的形式被管理的。面向存储的文件技术什么是文件?计算机中,一篇文章、一幅图片、一个程序等都是以文件的形式存储在磁盘上的,每个文件都有一个文件名。计算机就是对文件按名存取的。文件名的格式如下:主文件名.扩展名。为什么要在程序中使用文件?转载 2013-09-04 19:37:58 · 1017 阅读 · 0 评论 -
VS2010调试时发现
在XP上安装VS2010,不会自动提示错误,即小红线,类成员也不会自动显示,软件运行过程出错也不能实时看变量,非常不方便。以前用没没注意这些,不过后来了发现可以设置多个断点,鼠标移动上去就可以看相关变量的状态,win7自然而然的东西,到XP上还得找规律啊。原创 2013-09-03 11:13:24 · 859 阅读 · 0 评论 -
九度1005
//此为1005题在VS2010上的编译,已经通过,提交到九度上要做相应的修改// 9dutest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include//#include>//关于程序的些许想法//法一对学生成绩进行排序,从高到低录取,学校配额减一//法二,按学校录取,对各个学校的第一志愿寻找进行排序,去除已经录取的学生以及各个学原创 2015-06-05 16:48:38 · 877 阅读 · 3 评论