c++
centos-com
忘了近处忘了远处忘了源自何处道无界知识无界你我无界在茫茫宇宙中任何人任何有智慧的物种都可以随意转载和修改但禁止商用.
展开
-
C 函数中调用 C++函数
// cpp.h#ifndef __cpp_h__#define __cpp_h__class class1 { class1(); ~class1();public: int I; int J; int getI(void);};#endif// end file// cpp.cpp#i nclude "stdafx.h"#i nclud转载 2008-02-24 16:23:00 · 938 阅读 · 0 评论 -
传奇3游戏代码结构
传奇3完整代码结构(C++6的)CharSelectProcess 角色相关LoginProcess 登陆部分代码Server 是服务器程序代码Sound 声音处理WindHorn 是引擎代码GameProcess 是游戏核心代码WILEDTOR 是图象工具。AVI 是播放片头动画的处理代码SER 是服务器ServerSelectProcess 服务器查原创 2013-06-13 15:19:58 · 2339 阅读 · 1 评论 -
Boost :Lexical_cast
lexical_cast函数本身的代码非常短,如下: templateTarget lexical_cast(Source arg){ detail::lexical_stream interpreter; Target result; if(!(interpreter > result)) throw_exception(bad_l原创 2013-11-24 18:50:08 · 591 阅读 · 0 评论 -
boost/lexical_cast.hpp的简单使用方法
#include lexical_cast.hpp> #include #include int main() { using std::string; using std::cout; using std::endl; int i; try {原创 2013-11-24 18:51:37 · 2503 阅读 · 0 评论 -
Char* string 转换
1:对于C风格的字符串比如char*,char str[],转换为 string char *和char str[]类型可以直接转换为string类型; 即,在char * chstr, char arstr[] string str=chstr;或者是s原创 2013-11-30 17:31:09 · 528 阅读 · 0 评论 -
VC++中使用OCCI
1.简介在Windows下访问Oracle数据库可以使用ADO,ADO.Net,OLEDB,ODBC,跨平台的OCCI等方法,其中速度最快,对Oracle支持最完整的是Oracle提供的OCCI.2.安装OCCI SDKOCCI SDK包含在Oracle客户端中,在如下位置可以找到:头文件:C:\oracle\ora92\oci\include库文件:C:\oracle\ora原创 2013-11-30 17:39:00 · 657 阅读 · 0 评论 -
VC使用OCCI开发的简介
VC++环境设置 1加include files项:%ORACLE_HOME%\oci\include %ORACLE_HOME% = HKEY_LOCALMACHINE_SOFTWARE\SOFTWARE\ORACLE\KEY_OraDb10g_home 注册表键 2、加library file 项:%ORACLE_HOME%\oci\lib\msvc\原创 2013-11-30 17:39:50 · 1587 阅读 · 0 评论 -
linux下occi使用问题
参考网上例子,写了个简单的C++连接ORACLE的DEMO,可是使用g++编译时不顺利,不是报这个错就是那个,最后参考网上的解决方式和个人理解,终于调试好了,现把编译中出现的问题和解决方法总结出来。 源代码 C++代码 #include #include #include "occi.h" using namespace oracle:原创 2013-11-30 17:45:12 · 982 阅读 · 0 评论 -
Oracle表数据的C++存取接口
Oracle表数据的C/C++存取方法Pro*C/C++Pro*C/C++是非常传统的接口,底层接口是 SQL-LIB,是一种在 C/C++代码里直接插入SQL、PL/SQL语句实现Oracle 数据库操作方法.虽然还是有很多公司依然采用这种接口方法,但是,一般来说,并不推荐,主要原因是,本身Pro*C/C++有一套语法需要学习,另外,编译、调试不便,多线程处理,多实例连接等情况,用起来比原创 2013-11-30 17:37:13 · 632 阅读 · 0 评论 -
VC编译OCCI的解决方案
解决过程中,发现少有的解决方案也是零星和不详细的。我把总结的成果共享一下吧,希望能对后来者有所帮助。 Windows下编译的步骤 2005-7-28 一、 安装必备软件 1、 安装Oracle客户端,其中会含有oci的库文件。 2、 安装MS Visual C++ 二、 修改源文件原创 2013-11-30 17:38:10 · 807 阅读 · 0 评论 -
linux下occi使用
1. 所需安装包 (64 位 ) oracle-instantclient-basic-10.2.0.3-1.x86_64.rpmoracle-instantclient-devel-10.2.0.3-1.x86_64.rpm2. 安装安装后,库文件路径为/usr/lib/oracle/10.2.0.3/client64/lib/原创 2013-11-30 17:41:55 · 837 阅读 · 0 评论 -
c++操作occi
大致步骤列举如下:1.安装OCCI如果oracle数据库默认没有安装OCCI,可以自己从官网上下载与自己数据库版本一致的API,地址:http://www.oracle.com/technetwork/topics/linuxsoft-082809.html ; 其中包含四个软件包:?oracle-instantclient-sqlplus-10.2.0.5-1.i386.rpm原创 2013-11-30 17:46:51 · 779 阅读 · 0 评论 -
获取char指针内容的长度
如果能确定所指变量为字符串地址,可以用strlen(p)取得字符串长度。 strlen能返回字符串的长度是因为它认为到'\0'就是结束的地方sizeof和内存无关,只根据数据类型来判断,而数据类型的长度和操作系统有关1:char* a = "c:\\temp\\a.txt\n";int b = strlen(a); 2:char a[] = "hello w原创 2013-11-30 17:30:32 · 35269 阅读 · 1 评论 -
Sprintf 和 sscanf
printf是标准输出流的输出函数,用来向标准输出设备输出;fprintf则是向文件输出,将输出的内容输出到硬盘上的文件中 。int sprintf( char *buffer, const char *format, [ argument] … );头文件stdio.h原型int sprintf( char *buffer, const char *format,原创 2013-11-30 17:32:32 · 522 阅读 · 0 评论 -
struct和char 的类型转换
struct strOne{ char c[2]; int int1; float f2; } char b[sizeof(strOne)]; 怎么把它们互相转换?也就是说让struct变成char流存起来和 反过来调用出来struct?原创 2013-05-05 21:30:26 · 4125 阅读 · 0 评论 -
指针数组,数组指针,指针函数,函数指针,二级指针详解
[]的优先级高于*char **p, a[16][8]; 问:p=a是否会导致程序在以后出现问题?为什么?可能有一部分朋友会回答正确,这里他们认为,a[]是一级指针,a[][]就是二级指针。那这个到底对不对呢?用事实说话:// 验证二维数组与二级指针的传递问题#include using namespace std; void Test(char **原创 2013-02-21 16:40:29 · 750 阅读 · 0 评论 -
cYongCjj
摘要 本文分析了C 编程中用指针调用“类” 成员函数时出现的问题、原因及后果,讨论了一般函数指针和“类”成员函数指针的不同。得出结论: 任何指向“类”的成员函数指针,由于携带额外的所属对象信息,与一般的函数有根本的不同,不能直接用来进行函数调用。此外,本文给出了几种间接调用类的成员函数的方法。本文所有代码在VC 6.0下编译通过。 关键词 C 编程; 类; 成员函数; 函数指针; 函数调用在转载 2008-02-27 21:49:00 · 543 阅读 · 0 评论 -
C中如何调用
C中如何调用C++函数? 前阵子被问及一个在C中如何调用C++函数的问题,当时简单回答是将函数用extern "C"声明,当被问及如何将类内成员函数声明时,一时语塞,后来网上查了下,网上有一翻译C++之父的文章可以作为解答,遂拿来Mark一下。 将 C++ 函数声明为``extern "C"(在你的 C++ 代码里做这个声明),然后调用它(在你的 C 或者 C++ 代码里调用)转载 2008-02-27 21:51:00 · 652 阅读 · 0 评论 -
C++中线程函数中方访问成员变量的问题
1.C++ Java 和C 三种语言中static的差别:C++中的static和Java中基本类似 但是C语言不同:在C语言中,关键字static有三个明显的作用: 1在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3在模块内,一个被转载 2008-03-20 21:02:00 · 1373 阅读 · 0 评论 -
vc怎样通过进程名获取进程的工作目录.
先用OpenProcess()函数将进程打开后,利用EnumProcessModules()函数枚举该进程的模块,利用GetModuleFileNameEx()函数就能取得该进程的路径#include #include #include "PSAPI.H"#pragma comment( lib, "PSAPI.LIB" )int main(void){ DWORD proce原创 2008-03-20 21:28:00 · 1645 阅读 · 0 评论 -
strcpy strncpy memcpy
strcpy strncpy memcpy原创 2010-12-17 11:39:00 · 635 阅读 · 0 评论 -
环境变量的获取和设置
函数在 中声明,环境变量由一个字符串数组构成,其形式为“VARNAME=value”。可以用getenv()和putenv()函数从程序中访问环境变量。读取环境变量 :如果函数调用成功,它返回环境变量的字符串值。如果变量没有被定义,函数返回空(NULL)char * getenv(const char *varName); 设置环境变量 :参数var必须是字符串。p原创 2012-01-11 11:10:22 · 601 阅读 · 0 评论 -
无法解析的外部符号 的解决方法
原因:是用到了一个库函数,但是项目没有把它的库加进去。1:在CPP文件include语句之后加上如下代码: #pragma comment(lib,"需要的lib库文件") 2:项目 --> 属性 --> 链接器 --> 输入 --> 附近依赖项 填入你使用到的库原创 2012-01-12 10:24:50 · 1950 阅读 · 0 评论 -
void* to ULONG
转载请注明出处:http://blog.csdn.net/sunboyhchULONG ul = 100;void * pv = &ul;ULONG pd = *(ULONG*)ul); 在c++中比较简单 如:double d = 100;void * pv = &d;double * pd = static_cast(pv);原创 2012-01-11 20:39:13 · 621 阅读 · 0 评论 -
文件操作
文件操作文件的输入输出(I/O)服务是操作系统的重要部分。Windows提供了一类API函数来读、写和管理磁盘文件。MFC将这些函数转化为一个面向对象的类——CFile,它允许将文件视为可以由 CFile成员函数操作的对象,如Read和Write等。CFile类实现了程序开发者执行底层文件I/O需要的大部分功能。并不是在任何时候使用CFile类都是方便的,特别是要与底层设备(如COM口、设原创 2008-01-09 23:25:00 · 817 阅读 · 0 评论 -
常量指针和指针常量
char *str1={"Hello"}; char *str2={"Hello World"}; //指针常量 指针自身是一个常量 关键字 const 出现在 * 右边,表示指针自身不可变,但其指向的地址的内容是可以被修改的 char * const ptr1 =str1 ;//指针常量--指针本身是常量,指向的地址不可以变化,但是指向的地址所对应的内容可以变化原创 2012-02-22 14:44:01 · 454 阅读 · 0 评论 -
MultiByteToWideChar的与WideCharToMultiByte的参数详解
int WideCharToMultiByte( __in UINT CodePage, // 标志了要与新转换的字符串关联的代码页 __in DWORD dwFlags, // 制定额外的转换控制,一般不需要进行这种程度的控制,而为 dwFlag 传入 0 __in LPCWSTR lpWideCharStr,// 指定要转换的字原创 2012-03-02 17:25:13 · 832 阅读 · 0 评论 -
c++ 类型转换整理一:static_cas t和 reinterpret_cast
1、C++中的static_cast执行非多态的转换,用于代替C中通常的转换操作。因此,被做为隐式类型转换使用。比如: int i; float f = 166.7f; i = static_cast(f); 此时结果,i的值为166。 2、C++中的reinterpret_cast主要是将数据从一种类型的转换为另一种类型。所谓“通常为操作数的位模式提供较低层的重新解释”也就是原创 2013-04-24 19:48:37 · 1036 阅读 · 0 评论 -
C++类型转换整理二:static_cast、dynamic_cast、reinterpret_cast和const_cast
标准C++的类型转换符:static_cast、dynamic_cast、reinterdivt_cast、和const_cast。3.1 static_cast用法:static_cast ( exdivssion )该运算符把exdivssion转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类和子类之间指针或引原创 2013-04-24 19:50:53 · 605 阅读 · 0 评论 -
C++Qt 统计运行时间
1. C/C++C中有基础库用于实现该功能,功能在time.h头文件中,代码实例如下: 1 #include 2 #include 3 #include 4 5 void main() 6 { 7 double time_Start = (double)clock(); //开始时间 8 //操作。。。 9 double ti原创 2013-04-24 13:41:32 · 1144 阅读 · 0 评论 -
linux上编译安装Qt4.7的QOCI驱动
方法步骤其实是参照Nokia的文档,在/opt/qtsdk-2010.05/qt/doc/html/sql-driver.html中,1.把/home/orisun/.bashrc中新添加的内容追加到/home/root/.bashrc中2.root@zcypc:/opt/qtsdk-2010.05/qt/src/plugins/sqldrivers/oci# qmake -o M原创 2013-11-30 17:50:49 · 1610 阅读 · 0 评论