VC学习
小狼1114
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
在VC中如何使用OCX控件
首先感谢网络中的各位高手,我的文章只是对你们文章的Copy和学习。 工作中客户提供了一个ocx控件,学习了如何使用它。发现网上没用针对像我一样菜鸟的文章,所以我总结一下我的学习成果供菜鸟学习使用。1.注册OCX控件 在“开始->运行...”中输入命令 regsvr32 “路径”/*.ocx //注册控件 “路径”/*.ocx为你需要注册控件的全路径和名字原创 2009-11-13 11:34:00 · 9492 阅读 · 6 评论 -
strtol()--刚见到好用的函数
<br />函数格式:long int strtol(const char *nptr,char **endptr,int base);<br /> <br />这个函数会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如’0x’前置字符则会使用16进制做转换、遇到’0’前置字符而不是’0x’的时候会使用8进制做转换。一转载 2011-01-21 14:33:00 · 360 阅读 · 0 评论 -
C++ new用法
程语言中有一种叫做new的术语。不过这一概念是比较模糊的,有些人把它理解为new函数,但是有的人又会把它理解为new运算符。那么它的真正含义又是如何的呢?在这里我们将会通过对C++ new用法的介绍,帮助大家一起分析一下。 C++ new用法之一 new运算符 最常用的是作为运算符的new,比如 string *str = new string(“test new”);转载 2011-06-04 09:57:00 · 347 阅读 · 0 评论 -
VC值对字符串的赋值问题
错误: char s1[10]; char *s2; s1="China"; s2 = "China"; 而要这样: char s2[10]; char *s1 strcpy(s2,"China"); strcpy(s1,"China"); 因为char原创 2011-09-21 14:59:50 · 1009 阅读 · 0 评论 -
new动态申请的内存和直接定义的数组
数组其实也是一种指针,只是这种指针系统已经为他分配好了内存地址,在变量周期结束的时候也会自动回收。指针的话int *p系统是不会为p分配内存的,这时候p就是一个野指针,你可以p=new int[10]来为它分配内存,注意要用delete回收,要不然会出现内存泄露。 #inclu转载 2011-10-18 13:00:23 · 1166 阅读 · 0 评论 -
win32串口同步、异步编程
在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。 一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。 在Win32下,可以使转载 2011-11-15 12:20:07 · 2722 阅读 · 0 评论 -
VC编写SOCKET程序出现“绑定失败”问题解决
今日在电脑中安装了一个通过以太网通讯的数据采集系统的软件,后来发现我以前编写的用SOCKET的UDP通讯程序出现“无法绑定”的问题,后来多方调试怀疑适合安装的软件有关,是否占用了相同的端口? 通过WSAGETLastError()函数获得错误代码: if(m_Socket_Rrror==bind(m_Socket,(SOCKADDR*)&addrsock,sizeof(a原创 2011-11-18 13:07:22 · 1358 阅读 · 0 评论 -
WINDOWS 系统错误代码大全
0 操作成功完成。 1 功能错误。 2 系统找不到指定的文件。 3 系统找不到指定的路径。 4 系统无法打开文件。 5 拒绝访问。 6 句柄无效。 7 存储控制块被损坏。 8 存储空间不足,无法处理此命令。 9 存储控制块地址无效。 10 环境错误。 11 试图加载格式错误的程序。转载 2011-11-18 13:10:12 · 2833 阅读 · 0 评论 -
error C2660: 'new' : function does not take 3 parameters解决办法
这是VC的一个BUG,微软至今还没有解除。 最简单解决办法如下: 在该CPP文件开头部分注释掉#define new DEBUG_NEW!原创 2011-11-04 10:08:33 · 1220 阅读 · 0 评论 -
VC中指定改变listctrl中某一行的颜色
指定改变listctrl中某一行的颜色,比如说刚添加进去的一行,让它改变颜色,这样记录多了,容易看到自己刚刚加如的行,方便操作可查看,也可以让添加和修改的记录显示不一样的颜色,方便的多了,VC自带的没有这种功能。 1. 首先从ClistCtrl 继承一个类,命名为CmyListCtrlNew 在头文件中加摸板 CMap MapItemColor; 好在这里查找你的修改的颜色。 2. 自己转载 2013-04-17 14:33:26 · 1150 阅读 · 0 评论 -
创建新类出错“unable to open the files (XX) for class(XX)”---VC的bug
<br /> 最近,建立一个新的对话框,为其通过classwizard创建一个新类,完成时,弹出对话框提示“unable to open the files (XX) for class(XX)”!取消后发现工程文件夹中新创建的类的*.h,.*cpp文件已经存在。<br /> 再试,偶尔成功创建。在网上寻找答案。找到了问题所在,网络高手,提示问VC的一个bug。回想曾在“孙鑫的VC学习视频”中提到过。<br />解决办法:将工程文件夹中的*.clw文件删除,然后再点classwizard重建该文件原创 2010-12-18 09:08:00 · 1475 阅读 · 0 评论 -
【转】VC常见编译错误代码
<br />Ambiguous operators need parentheses <br />不明确的运算需要用括号括起 <br /> <br />Ambiguous symbol ``xxx`` <br />不明确的符号 <br /> <br />Argument list syntax error <br />参数表语法错误 <br /> <br />Array bounds missing <br />丢失数组界限符 <br /> <br />Array size toolarge <br />数转载 2010-12-18 09:30:00 · 531 阅读 · 0 评论 -
指针学习之一:指针作为函数参数
<br /> 想实现一个函数,功能为实现两个变量的交换。即如下函数:<br />void swap(int a ,int b)<br />{<br /> int p;<br /> p=a;<br /> a=b;<br /> b=a;<br />}<br /> <br />但是调用时,如何传递变量成了个问题。因为才函数传递时只能传递变量的实际值,无法实现变量值的交换。只好定义两个变量为全局变量,改变它的值。<br />还有办法,让函数的参数变为指针。此时,发生函数调用时,实参把地址传递给相应的形参,止痒,该形原创 2010-10-21 11:21:00 · 317 阅读 · 0 评论 -
#pragma 预处理指令详解
在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参数,下面转载 2009-11-13 12:23:00 · 211 阅读 · 0 评论 -
动态连接库的创建步骤
一、创建Non-MFC DLL动态链接库 1、打开File —> New —> Project选项,选择Win32 Dynamic-Link Library —>sample project —>工程名:DllDemo 2、新建一个.h文件DllDemo.h 以下是引用片段: #ifdefDllDemo_EXPORTS #defineDllAPI__declspec(dllex转载 2009-11-13 12:08:00 · 456 阅读 · 0 评论 -
动态链接的调用方法及步骤
一、隐式调用 1、 建立DllCnslTest工程 2、 将文件DllDemo.dll、DllDemo.lib拷贝到DllCnslTest工程所在的目录 3、 在DllCnslTest.h中添加如下语句: 以下是引用片段: #defineDllAPI__declspec(dllimport) #pragmacomment(lib,"DllDemo.lib")//在编辑器link时,链接到Dl转载 2009-11-13 12:11:00 · 338 阅读 · 0 评论 -
用VC数据输出到Excel
在开发软件时,经常要将数据输出到Excel 2000中,在Excel 2000中对该数据进行进一步地格式化处理或进行计算处理。在Visual Basic中处理起来较简单,Excel 2000的VB编程帮助中有较为详细的介绍。在Visual C++中如何进行处理了?利用Excel 2000的ActiveX Automate功能,处理起来同VB中类似。但要注意以下几点: 对于对象的属性值的读取转载 2009-11-13 12:16:00 · 916 阅读 · 0 评论 -
堆-栈的区别
一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全转载 2009-11-13 12:25:00 · 528 阅读 · 0 评论 -
VC使用及调试相关小技巧
自己总是用VC平台来开发东西,但是有时候总是出这样那样的问题,呵呵,总是需要上网查资料来解决,在这里把自己用到上网查的一些技巧摘录如下,希望对大家有用,省去大家再去搜索的烦恼。1.如何在Release状态下进行调试Project->Setting=>ProjectSetting对话框,选择Release状态。C/C++标签中的Category选General,Optimizations选Disab转载 2010-01-29 23:21:00 · 280 阅读 · 0 评论 -
转换字符为ASCII码
最近在研究串口通信,遇到要将字符串转换成ASCII码的问题,以前在VB下有函数Asc()直接转换,在VC中头次遇到,一下子给蒙住了。上网查查有没有类似的函数可以完成这项功能。多方查找终于有了结果。 由于字符字内存中就是以ASCII码的形式存放的,所以,在VC中只需要将字符强制类型转换成整型,即可得到该字符的ASCII码,不需要任何函数。例1: char a=A;原创 2009-12-28 14:01:00 · 1439 阅读 · 0 评论 -
atof函数,atoi函数,atol函数,gcyt函数,strtod函数,itoa函数
<br />atof(将字符串转换成浮点型数)<br />相关函数<br />atoi,atol,strtod,<br />表头文件<br />#include <br />定义函数<br />double atof(const char *nptr);<br />函数说明<br />atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('/0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如转载 2010-10-18 10:45:00 · 712 阅读 · 1 评论 -
Windows平台下几种计数器的实现方法
对关注性能的程序开发人员而言,一个好的计时部件既是益友,也是良师。计时器既可以作为程序组件帮助程序员精确的控制程序进程,又是一件有力的调试武器,在有经验的程序员手里可以尽快的确定程序的性能瓶颈,或者对不同的算法作出有说服力的性能比较。 在Windows平台下,常用的计时器有两种,一种是timeGetTime多媒体计时器,它可以提供毫秒级的计时。但这个精度对很多应用场合而言还是太粗糙了。另转载 2011-12-22 12:28:56 · 440 阅读 · 0 评论
分享