- 博客(33)
- 收藏
- 关注
转载 C++标准输入流详解
标准输入流是从标准输入设备(键盘)流向程序的数据。在上一节中已知,在头文件iostream.h中定义了cin,cout,cerr,clog 4个流对象,cin是输入流,cout,cerr,clog是输出流。cin是istream类的对象,它从标准输入设备(键盘)获取数据,程序中的变量通过流提取符“>>”从流中提取数据。流提取符“>>”从流中提取数据时通常跳过输入流中的空格、tab键、换行符
2014-05-20 09:18:33
718
转载 CString.Format的详细用法(转)
在MFC程序中,使用CString来处理字符串是一个很不错的选择。CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串。CString的Format方法给我们进行字符串的转换带来了很大的方便,比如常见的int、float和double这些数字类型转换为CString字符串只需一行代码就可以实现。 先看看Format用于转换的格式字符: %c
2014-05-20 09:17:39
415
转载 C++实现CString和string的互相转换
CString->std::string 例子: CString strMfc=“test“; std::string strStl; strStl=strMfc.GetBuffer(0);unicode情形下: CStringW strw = _T("test"); CStringA stra(strw.GetBuffer(0));
2014-05-20 09:11:07
473
转载 C/C++获取当前系统时间
个人觉得第二种还是比较实用的,而且也是最常用的~不过当计算算法耗时的时候,不要忘记second,不能只要用Milliseconds来减,不然后出现负值,若是算法耗时太长就得用minutes啦。再不然,就hours……//方案— 优点:仅使用C标准库;缺点:只能精确到秒级#include #include int main( void ) { time_t t
2014-05-20 09:10:19
489
转载 使用VC++获取文件路径,已获取当前路径为基础
[cpp] view plaincopy 今天搞清楚了如果使用C++获取当前路径,并且已获取当前路径为基础,测试代码如下,如果有注释错误还请看到的高手指正,呵呵~~ [cpp] view plaincopy#include #include #include using namespace
2014-05-20 09:09:37
2178
转载 为什么是Createthread后要CloseHandle
CloseHandle()函数隐藏在Createthread后面究竟有什么作用??很多程序在创建线程都这样写的:............ThreadHandle = CreateThread(NULL,0,.....);CloseHandel(ThreadHandle );。。。。。这不是刚好创建又关闭了吗?线程怎么运行呢?===================
2014-05-20 09:07:52
589
1
转载 c++头文件包含注意要点(收藏)
C++ 中类的声明和类的定义分开几乎成了一个不成文的规定。这样做的好处是使得类的声明和实现分开,清晰明了,同时便于库函数发布。但是在实际编程中由此也常常 引起了一些由于头文件的包含顺序问题而产生的符号未定义的编译错误,不明白其中原理有时会让人很头疼。要消除符号未定义的错误的编译错误,最基本的一个做 法就是在引用一个符号(包括变量,函数,结构,类等)之前确保它已经声明或者已经定义。
2014-05-20 09:05:43
2195
转载 慎用AfxGetApp()->GetMainWnd()->m_hWnd
刚刚查了一个问题。问题描述:我提供了一个库给上层使用,上层的应用程序运行时出现崩溃。问题解决:搭环境,用VC调试查问题。 原来是如下的问题,取主窗口句柄使用了 AfxGetApp()->GetMainWnd()->m_hWnd 但程序运行时AfxGetApp()会返回 NULL值,所以程序崩溃。代码改为 CWinApp* pWinApp = AfxGetApp(
2014-05-20 09:01:28
885
转载 MATLAB的基本命令
取整函数 1)fix(x) : 截尾取整(朝零方向取整) >> fix( [3.12 -3.12]) ans = 3 -3 2)floor(x):不超过x 的最大整数(朝负无穷方向取整) >> floor( [3.12 -3.12]) ans = 3
2014-05-20 08:58:20
1230
转载 运用Matlab创建BP神经网络
运用Matlab创建BP神经网络(R2010b)BP神经网络属于前向网络以下为创建BP神经网络的方法及参数意义(1)net=newff(P,T,S)或者net = newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF)P:输入参数矩阵。(RxQ1)T:目标参数矩阵。(SNxQ2)S:N-1个隐含层的数目(S(i)到S(N-1)),输出层的单元数目取决于
2014-05-20 08:55:18
4400
转载 MATLAB数据归一化汇总(最全面的归一化介绍)
几个要说明的函数接口:[Y,PS] = mapminmax(X)[Y,PS] = mapminmax(X,FP)Y = mapminmax('apply',X,PS)X = mapminmax('reverse',Y,PS)复制代码用实例来讲解,测试数据x1 = [1 2 4], x2 = [5 2 3];>> [
2014-05-20 08:53:10
20534
转载 ]BP神经网络初学总结
1,newff建立BP神经网络2,sim神经网络测试3,神经网络的隐层数一般不超过两层4,预处理一般有归一化、标准化和主成分分析。一般是归一化5,归一化premnmx、postmnmx、tramnmx6,隐节点数的个数一般需要综合考虑:方法有①:。n为隐层节点数;ni为输入节点数;no为输出节点数;a为1~10之间的常数。②:改变n,用同一样本集训练,从而确定网络误差最
2014-05-20 08:49:43
980
转载 VC++常用代码段
/*1.改变当前目录到EXE所在的目录在VC++开发环境中直接运行程序,当前目录不是EXE所在的目录,这样会造成一些麻烦,比如使用相对路径打开文件。使用以下代码将当前目录设成EXE所在的目录:void ChangeCurDirToExe() { CString strPath; ::GetModuleFileName(NULL,s
2014-05-20 08:42:50
716
转载 关于预编译头文件
最近从VC6.0过渡到VS2008,还有一些东西正在摸索阶段,于是有些以前没有注意到问题就逐渐显示,我打算抓住一个是一个,把所有的厘清的感悟或是新增的知识写下来,希望给没有注意到这类问题的朋友抛砖引玉吧。 首先,就是预编译头文件。1.概念 所谓的预编译头文件,其实我们很熟悉的,这里的头文件(Microsoft Visual C++中)一般的说就是我们常见的stdafx.h。这个
2014-05-02 16:38:43
455
转载 浅析string 与char* char[]之间的转换
与char*不同的是,string不一定以NULL('\0')结束。string长度可以根据length()得到,string可以根据下标访问。所以,不能将string直接赋值给char*1、首先必须了解,string可以被看成是以字符为元素的一种容器。字符构成序列(字符串)。有时候在字符序列中进行遍历,标准的string类提供了STL容器接口。具有一些成员函数
2014-04-30 21:29:01
580
转载 DLL入门浅析(5)——使用DLL在进程间共享数据
在Win16环境中,DLL的全局数据对每个载入它的进程来说都是相同的,因为所有的进程用的都收同一块地址空间;而在Win32环境中,情况却发生了变化,每个进程都有了它自己的地址空间,DLL函数中的代码所创建的任何对象(包括变量)都归调用它的进程所有。当进程在载入DLL时,操作系统自动把DLL地址映射到该进程的私有空间,也就是进程的虚拟地址空间,而且也复制该DLL的全局数据的一份拷贝到该进程空间。(在
2014-04-30 21:28:24
559
转载 DLL入门浅析(4)——从DLL中导出类
前面介绍了怎么从DLL中导出函数和变量,实际上导出类的方法也是大同小异,废话就不多说了,下面给个简单例子示范一下,也就不多做解释了。DLL头文件:#ifndef _DLL_SAMPLE_H#define _DLL_SAMPLE_H// 通过宏来控制是导入还是导出#ifdef _DLL_SAMPLE#define DLL_SAMPLE_API __declspec
2014-04-30 21:27:04
422
转载 DLL入门浅析(3)——从DLL中导出变量
前面介绍了怎么从DLL中导出函数,下面我们来看一下如何从DLL中导出变量来。 声明为导出变量时,同样有两种方法: 第一种是用__declspec进行导出声明#ifndef _DLL_SAMPLE_H#define _DLL_SAMPLE_H// 如果定义了C++编译器,那么声明为C链接方式#ifdef __cplusplusextern "C" {
2014-04-30 21:26:05
443
转载 DLL入门浅析(2)——如何使用DLL
上文我简单的介绍了如何建立一个简单DLL,下面再我简单的介绍一下如何使用一个DLL。当一个DLL被生成后,它创建了一个.dll文件和一个.lib文件;这两个都是你需要的。要使用DLL,就需要载入这个DLL。隐式链接这里有两个方法来载入一个DLL;一个方法是捷径另一个则相比要复杂些。捷径是只链接到你.lib 文件并将.dll文件置入你的新项目的路径中去。因此,创建一个新的空的Win3
2014-04-30 21:25:32
572
转载 DLL入门浅析(1)——如何建立DLL
初学DLL,结合教程,总结一下自己的所得,希望对DLL初学者们有所帮助。 动态链接库(DLL)是从C语言函数库和Pascal库单元的概念发展而来的。所有的C语言标准库函数都存放在某一函数库中。在链接应用程序的过程中,链接器从库文件中拷贝程序调用的函数代码,并把这些函数代码添加到可执行文件中。这种方法同只把函数储存在已编译的OBJ文件中相比更有利于代码的重用。但随着Windows这样的多
2014-04-30 21:24:50
574
转载 CString转char
1.传给未分配内存的const char* (LPCTSTR)指针. CString cstr(asdd); const char* ch = (LPCTSTR)cstr; ch指向的地址和cstr相同。但由于使用const保证ch不会修改,所以安全.2.传给未分配内存的指针. CString cstr = "ASDDSD"; char *ch =
2014-04-24 08:50:17
419
转载 stringstream的用法
使用stringstream对象简化类型转换C++标准库中的提供了比ANSI C的更高级的一些功能,即单纯性、类型安全和可扩展性。在本文中,我将展示怎样使用这些库来实现安全和自动的类型转换。为什么要学习如果你已习惯了风格的转换,也许你首先会问:为什么要花额外的精力来学习基于的类型转换呢?也许对下面一个简单的例子的回顾能够说服你。假设你想用sprintf()函数将一个变量从int
2014-04-21 19:45:42
386
转载 typedef与define的区别
1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。 至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述。2. typ
2014-04-21 19:31:10
373
转载 c/c++ 数字转成字符串, 字符串转成数字
c/c++ 数字转成字符串, 字符串转成数字------转帖数字转字符串:用C++的streanstream:#include #Include string num2str(double i){ stringstream ss; ss return ss.str();}字符串转数字:
2014-04-21 09:05:23
539
转载 C++类中成员变量的初始化总结
1、普通的变量:一般不考虑啥效率的情况下 可以在构造函数中进行赋值。考虑一下效率的可以再构造函数的初始化列表中进行。 class CA{public:int data;……public:CA();…… }; CA::CA():data(0)//……#1……初始化列表方式{//data = 0;//……#1……赋值方式}; 2、
2014-04-21 08:57:58
488
转载 2048游戏C++ Console实现(简单版,未优化代码)
#include #include #include #include #include #include // 2的概率大于4#define random_2_4 (rand()%5==4 ? 4:2)#define random_x(x) (rand()%x)using namespace std;// 矩阵大小const int MAX = 4;
2014-03-28 22:45:45
895
转载 类模板的定义和使用
如同函数模板一样,使用类模板使用户可以为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数、某些成员函数的返回值能取任意类型。类模板是对一批仅仅成员数据类型不同的类的抽象,程序员只要为这一批类所组成的整个类家族创建一个类模板,给出一套程序代码,就可以用来生成多种具体的类,(这类可以看作是类模板的实例),从而大大提高编程的效率。 定义类模板的一般形式是: template cl
2014-03-28 22:45:15
442
转载 c++按位操作符
顾名思义,按位运算符允许按照位来操作整型变量。可以把按位运算符应用于任意signed和unsigned整型,包括char类型。但是,它们通常应用于不带符号的整型。这些运算符的一个常见应用是在整型变量中使用单个的位存储信息。例如标记,它用于描述二进制状态指示符。可以使用一个位来描述有两个状态的值:开或关、男或女,真或假。也可以使用按位运算符处理存储在一个变量中的几个信息项。例如,颜色
2014-03-28 22:25:09
529
转载 模板函数的定义和声明须在同一文件内
按照C++中代码的惯例,类声明在h文件中,类定义在cpp文件中,相应的成员函数声明也在h文件中,定义在cpp文件中。但是如果这样的架构用在模板函数中,在调用模板函数的地方链接器便会报错,error LNK2001: unresolved external symbol。将定义写在与声明相同的文件中问题解决,解释如下:“大部分编译器在编译模板时都使用包含模式。也就是一般使用的把模板放到头文件
2014-03-28 21:56:14
453
转载 C++编写DLL的方法
C++编写DLL的方法 在写C++程序时,时常需要将一个class写成DLL,供客户端程序调用。这样的DLL可以导出整个class,也可以导出这个class的某个方法。一、导出整个class方法很简单,只需要在类的头文件中class和类名之间加上_declspec(dllexport),同时在另外一份提供给客户端调用程序使用的类的头文件中class和类名之间加上_decl
2014-03-28 18:50:22
505
转载 C++中的二进制、八进制、十六进制表达
1、C和C++都没有提供二进制数的表达方法。2、C,C++语言中,如何表达一个八进制数呢?如果这个数是 876,我们可以断定它不是八进制数,因为八进制数中不可能出7以上的阿拉伯数字。但如果这个数是123、是567,或12345670,那么它是八进制数还是10进制数,都有可能。所以,C,C++规定,一个数如果要指明它采用八进制,必须在它前面加上一个0,如:123是十进制,但0123则表示
2014-03-27 21:21:56
1576
转载 回调函数(__stdcall)
2.1 函数指针回调在C语言中是通过函数指针来实现的,通过将回调函数的地址传给被调函数从而实现回调。因此,要实现回调,必须首先定义函数指针,请看下面的例子:void Func(char *s);// 函数原型void (*pFunc) (char *);//函数指针可以看出,函数的定义和函数指针的定义非常类似。 一般的化,为了简化函数指针类型的变量定义,提高程序的可读性,我们需
2014-03-25 15:37:16
1070
转载 C++回调函数
一,回调函数 我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢?使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。 而那个函数在需要
2014-03-14 18:24:12
438
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人