
C++
※※冰馨※※
这个作者很懒,什么都没留下…
展开
-
C++ printf with std::string
#include<bits/stdc++.h>int main (){ std::string s ("This is an sentence."); std::cout << s << std::endl; printf("%s\n", s.c_str()); return 0;}原创 2022-05-25 10:11:15 · 449 阅读 · 0 评论 -
vs2010未定义的标识符 round
在vs2010里使用round()函数进行四舍五入,添加了#include <math.h>头文件,还报错:“round”: 找不到标识符。进math.h文件查看,原来vs2010的math里没有round,ceil()和floor()都有:要使用的话,自己添加一个:double round(double r){ return (r > 0.0) ? floor(r + 0.5) : ceil(r - 0.5);}...原创 2022-05-24 16:38:35 · 1999 阅读 · 2 评论 -
C++使用OCI连接Oracle
Oracle调用接口(Oracle Call Interface简称OCI)是Oracle数据库访问的基础接口。下面的例子依次执行了:初始化OCI环境 连接服务器 连接数据库 创建会话 执行查询 执行新增(更新,删除类似,不赘述) 断开会话 断开服务器 释放资源示例代码:ociTest.cpp#include <oci.h>#include <io...转载 2019-07-18 16:21:21 · 2028 阅读 · 0 评论 -
error C2146: syntax error : missing ';' before identifier 'fd'
这几天用mysql5.1 c++ api +VC6.0编程时编译器报错:error C2146: syntax error : missing ';' before identifier 'fd'跟进mysql_com.h文件中的my_socket fd;/* For Perl DBI/dbd */行,发现编译器对my_socket不能识别,而在mysql.h中对my_socke...转载 2019-07-18 10:02:23 · 761 阅读 · 0 评论 -
fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC sha
调试程序时出现以下问题:d:\program files (x86)\microsoft visual studio 10.0\vc\atlmfc\include\afx.h(24): fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll...转载 2019-07-11 14:29:29 · 785 阅读 · 0 评论 -
error LNK2005 : already defined in libcmt.lib
1>MSVCRT.lib(MSVCR100.dll) : error LNK2005: "public: virtual char const * __thiscall std::exception::what(void)const " (?what@exception@std@@UBEPBDXZ) already defined in libcmt.lib(stdexcpt.obj)1&...转载 2019-07-11 14:29:01 · 1009 阅读 · 0 评论 -
c++连接sqlserver的两种方式
#include "stdafx.h"#include "MFCApplicationSqlServer.h"#include "MFCApplicationSqlServerDlg.h"#include "afxdialogex.h"#include <icrsint.h>#include <windows.h> #include <sqltypes....转载 2019-07-11 10:17:27 · 3979 阅读 · 0 评论 -
MFC之给ListCtrl控件添加一行
我使用的控件ListCtrl的名字在VS2008中显示的名字为List Box,如下图所示:------------------------------------------------------------------------------------------------注:我设置ListCtrl控件的风格为Report------------------...转载 2019-07-11 09:43:13 · 2138 阅读 · 0 评论 -
C++ vector用法
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1 基本操作(1)头文件#include<vector>.(2)创建vector对象,vector<int> vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的。...转载 2019-07-11 09:41:05 · 142 阅读 · 0 评论 -
VS2010生成静态库(.lib)
打开VS2010,新建一个项目,选择win32项目,点击确定,选择静态库这个选项,预编译头文件不选。在这个空项目中,添加一个.h文件和一个.cpp文件。名字我们起为static.h和static.cppstatic.h文件:#ifndef LIB_H#define LIB_H extern "C" int sum(int a,int b); extern "C" ...转载 2019-07-05 15:57:31 · 1031 阅读 · 0 评论 -
MFC中关闭窗口
MFC中关闭窗口的几种办法:退出程序用AfxGetMainWnd()->SendMessage(WM_CLOSE);关闭当前窗口用DestroyWindow( );关闭模式对话框用EndDialog(0);转载 2019-07-10 16:50:59 · 765 阅读 · 0 评论 -
fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include windows.h
fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>解决方法:在stdafx.h里面包含#include<afxwin.h>,然后把所有其它文件的#include<windows.h>注释掉...转载 2019-07-18 10:09:26 · 498 阅读 · 0 评论 -
C++操作oracle数据库
http://blog.chinaunix.net/uid-26790551-id-3193999.html数据库操作方式:可以采用ADO方式,也可以采用oracle本身提供的Proc*C/C++或者是OCCI方式操作数据库。连接方式:可以是客户端连接、也可以是服务器端连接。数据库配置:无论是何种连接都需要进行数据库连接的配置,一般在ORACLE_HOME下面的netwo...原创 2019-07-11 22:18:41 · 506 阅读 · 0 评论 -
WideCharToMultiByte和MultiByteToWideChar函数的用法
WideCharToMultiByte的代码页用来标记与新转换的字符串相关的代码页。MultiByteToWideChar的代码页用来标记与一个多字节字符串相关的代码页。常用的代码页由CP_ACP和CP_UTF8两个。使用CP_ACP代码页就实现了ANSI与Unicode之间的转换。使用CP_UTF8代码页就实现了UTF-8与Unicode之间的转换。下面是代码实现:1. ANSI to...转载 2019-07-26 15:18:03 · 227 阅读 · 0 评论 -
利用sprintf和sscanf实现十六进制和十进制之间的相互转换
#include <stdio.h>int main(){ char s[100] = {0}; sprintf(s, "%x", 15); printf("%s\n", s); // f char str[100] = "f"; int i = 0; sscanf(str, "%x", &i); printf...转载 2019-07-26 15:00:07 · 588 阅读 · 0 评论 -
CString和wstring互转
CString转std::wstringstd::wstring str = filename.GetString();std::wstring转CStringCString str( filename.c_str() );转载 2019-07-29 14:34:46 · 3430 阅读 · 0 评论 -
多字节与unicode字符集的转换
throw std::exception("Open database connection failed!"); try{…… } catch(std::exception &ex) { /wchar_t* dBuf = new wchar_t[256]; wmemset(dBuf, 0, 256); int nRe...原创 2019-07-17 14:28:50 · 371 阅读 · 0 评论 -
error C2664: cannot convert parameter 1 from 'CString' to 'const char *'
error C2664: 'atoi' : cannot convert parameter 1 from 'CString' to 'const char *'在MFC中出现这个提示 是字符集的问题项目右键--> 属性将 character set改为 Use multi-byte character set就可以了如下图...转载 2019-07-17 14:24:17 · 1268 阅读 · 0 评论 -
MFC VC++ Split函数的实现
void StringSplit(CString source, CStringArray& dest, char division) { if(source.IsEmpty()) { } else { int pos = source.Find(division); if(pos ==...转载 2019-07-17 10:42:11 · 707 阅读 · 0 评论 -
error C2061: syntax error : identifier 'string'
在编译时候报错:error C2061: syntax error : identifier ‘string’分析原因:没有加入#include<string>using namespace std;通常是由于std命名空间引起的转载 2019-07-17 09:42:28 · 1250 阅读 · 0 评论 -
ODBC和OLEDB的连接字符串
ODBC连接适合数据库类型 连接方式access"Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;"dBase"Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"oracle"Driver={mi...转载 2019-07-12 13:51:57 · 967 阅读 · 0 评论 -
CString转char * ,string
CString头文件#include <afx.h>string头文件#include <string.h>1、CString转char *CString cstr;char *p =(LPSTR)(LPCTSTR)cstr;2、string转CStringCString.format(”%s”, string.c_str());用c_st...转载 2019-07-10 14:54:37 · 12010 阅读 · 0 评论 -
浅析error LNK2001: unresolved external symbol "public: __thisc...
学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于 编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时, 编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不 明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非 常困难。 初学者在学习VC++的过程中,遇...转载 2019-07-10 10:44:18 · 5770 阅读 · 1 评论 -
VC++ 连接MySQL
1.MySQL数据库的安装你可以从MySQL的官网上或者从如下地址下载MySQL的数据库安装包(http://download.youkuaiyun.com/detail/nuptboyzhb/4619847)。本文以mysql-5.0.27-win32为例。下载完之后解压安装。注意:在安装的过程中,选择安装“完全版”(complete),不要选择默认的“典型”。否者,没有c++相关的连接库。然后一直点n...转载 2019-07-12 17:25:29 · 522 阅读 · 0 评论 -
char*,wchar_t*,CString和BSTR之间的转换
.char*和wchar_t*的相互转换可以利用中间类_bstr_t(头文件comdef.h)方便的进行相互转换const wchar_t* wText = (_bstr_t)"测试";char* cText = (_bstr_t)L"测试"; 可以通过A2T,A2W,T2A,T2W等宏来进行转换char* cText = "测试";USES_CONVERSION;wch...转载 2018-07-31 11:06:47 · 595 阅读 · 0 评论 -
c++实现Xml和json互转
1、下载c语言的cJson库源码,库很小,只有两个文件cJSON.c和cJSON.h。下载地址:https://sourceforge.net/projects/cjson/2、c++实现Xml和json互转2.1、头文件 #include "XmlJsonTransfer.h" //#include "cmsDebug.h" #include "...转载 2018-07-30 09:14:45 · 1923 阅读 · 0 评论 -
VS中c++文件调用c 函数 ,fatal error C1853 预编译头文件来自编译器的早期版本号,或者预编译头为 C++ 而在 C 中使用它(或相反)
出现错误:error C1853: “Debug\ConsoleApplication1.pch”预编译头文件来自编译器的早期版本号。或者预编译头为 C++ 而在 C 中使用它(或相反)相关资料:http://blog.sina.com.cn/s/blog_674cc1fd0100jirq.html 假设按上面方式调用还不成功,把.c文件的预编译去掉右击.c文件,属性 ->...转载 2018-07-29 17:30:54 · 952 阅读 · 0 评论 -
error MIDL2025 : syntax error : expecting a type specification near "HRESULT"解决办法
在vc6.0用ATL建立一个COM组件,然后在接口定义中加入方法,会遇到编译错误:(1)error MIDL2025 : syntax error : expecting a type specification near "HRESULT"(2)error MIDL2026 : cannot recover from earlier syntax errors; aborting comp...转载 2018-07-29 16:59:04 · 1911 阅读 · 0 评论 -
wstring string char* wchar_t相互转换
1. char*->string(1)直接转换const char* nodename;string temp = nodename;string temp2(nodename);2. wchar_t*->wstring(1)直接转换const wchar_t* nodename;wstring temp = nodename;wstring temp2(nodename);3. st...转载 2018-07-12 11:05:54 · 940 阅读 · 0 评论 -
wchar_t*和string相互转换
在处理中文时,一个中文通常占用2个字节,而char*和string字符串中的字符都是一个字节的,为了能够有效处理中文,引入了wchar_t*型变量,当需要处理中文时,可以首先将string转换成char*,然后将char*转换成wchar_t*即可。在window环境中,可以利用MultiByteToWideChar();WideCharToMultiByte();12两个API函数来实现转换,...转载 2018-07-12 11:00:53 · 1567 阅读 · 0 评论 -
用C语言获取当前系统时间
需要利用C语言的时间函数time和localtime,具体说明如下:一、函数接口介绍:1、time函数。形式为time_t time (time_t *__timer);其中time_t为time.h定义的结构体,一般为长整型。这个函数会获取当前时间,并返回。 如果参数__timer非空,会存储相同值到__timer指向的内存中。 time函数返回的为unix时间戳,即从1970年1月1日(UTC...转载 2018-07-12 10:59:17 · 629 阅读 · 0 评论 -
C++访问WebService(gSoap方式和com组件方式)
一、 gSOAP访问WebService1. 下载gSOAPgSOAP 2.7.17 版下载地址http://sourceforge.net/projects/gsoap2/)2. 安装gSOAP解压下载的gsoap_2.7.17.zip,假设该路径为F:\WebService\gsoap-2.7 3. 通过WSDL生成C++头文件3.1、通过...转载 2018-07-11 09:56:44 · 334 阅读 · 0 评论 -
Json---Windows下使用Jsoncpp
上述Json解析使用的是Jsoncpp,要使用Jsoncpp,得做如下几步的配置: 1. 首先从http://sourceforge.net/projects/jsoncpp/下载,压缩包大约105k。 2. 解压之后,进入 jsoncpp-src-0.5.0\makefiles\vs71 打开 jsoncpp.sln 3. debug编译lib_json 项目,会在 j...转载 2018-07-11 09:55:24 · 811 阅读 · 0 评论 -
C++访问WebService(gSoap方式和com组件方式)
C++访问WebService(gSoap方式和com组件方式)http://www.cnblogs.com/virtorld/archive/2012/11/16/2773395.html一、 gSOAP访问WebService1. 下载gSOAPgSOAP 2.7.17 版下载地址http://sourceforge.net/projects/...转载 2018-07-28 10:31:44 · 293 阅读 · 0 评论 -
CString 按指定字符分割为若干个CString
/本例将 I&LOVE&TANG&JUAN分割为4个独立的CString "I" "LOVE" "TANG" "JUAN"//直接贴上函数CStringArray* DivString(CString strValue){ CStringArray* m_result = new CStringArray; while (TRUE) {...转载 2018-08-01 10:19:53 · 611 阅读 · 0 评论 -
C++ MD5加密实现
转自:http://cooker.iteye.com/blog/969196//MD5.h #ifndefBZF_MD5_H #defineBZF_MD5_H #include<string> #include<iostream> //asmallclassforcalculatingMD...转载 2019-07-03 16:47:32 · 502 阅读 · 0 评论 -
CString与std::string相互转换
之前在用MFC编Bayes时遇到一个问题,就是CString与std::string的相互转换,后来发现转换方法其实很简单,就是直接利用这两个类的构造函数。当然,在做参数传入时,CString得通过(LPCTSTR)转换一下,而std::string则需调用c_str()函数:CString转成std::string:CString cs("Hello");std::string...原创 2019-07-03 16:46:43 · 7244 阅读 · 1 评论 -
error C3861: '_T': identifier not found
在头文件加上:#include <atlstr.h >这个头文件主要是在非MFC程序中,使用CString时需要添加的。转载 2019-07-08 11:24:36 · 984 阅读 · 0 评论 -
MFC中UpdateData(FALSE)与UpdateData(TRUE)的区别
UpdateData(FALSE):将程序中改变的变量的值更新至控件中去;UpdateData(TRUE):将控件中输入的值更新到变量中。转载 2019-07-02 11:21:34 · 486 阅读 · 0 评论 -
【MFC】CDateTimeCtrl 空间设置默认日期和时间
控件默认是获取当前的日期和时间的,当需要设置默认日期时间的时候,可以如下操作:// 绑定空间的成员:CDateTimeCtrl m_dateBegin; //日期CDateTimeCtrl m_timeBegin;//时间 COleDateTime currOleDate; m_dateEnd.GetTime(currOleDate); CO...转载 2019-07-02 09:30:11 · 3061 阅读 · 0 评论