上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 25 下一页
工程中的代码分别存放在add/add_int.c、add/add_float.c、add/add.h、sub/sub_int.c、sub/sub_float.c、sub/sub.h、main.c中。文件main.c#include #include "add.h"#include "sub.h"int main(void){ int input = 0; int a = 10, b = 12; float x= 1.23456,y = 9.87654321; printf("int a+b IS:%d\n",a+b); printf( Read More
posted @ 2013-09-24 15:02 星语海蓝 Views(554) Comments(0) Diggs(0) Edit
每个程序实质上都会链接到一个或者多个的库。比如使用C函数的程序会链接到C运行时库,GUI程序会链接到窗口库等等。无论哪种情况,你都会要决定是链接到静态库(static libary)还是动态库(dynamic libary)。链接到静态库会使你的程序臃肿,并且难以升级,但是可能会比较容易部署。而链接到动态库会使你的程序轻便,并且易于升级,但是会难以部署。静态库静态库也就相当于是把一系列的object文件放在同一个文件中(类似windows中的.lib文件)。当你提供一个静态库给链接器时,连接器将会搜索静态库,从中找到他所需要的object文件,提取出他们,将他们链接到你的程序中,就像你直接提供 Read More
posted @ 2013-09-24 11:07 星语海蓝 Views(463) Comments(0) Diggs(0) Edit
程序1:void myMalloc(char *s) //我想在函数中分配内存,再返回{ s=(char *) malloc(100); }void main() { char *p=NULL; myMalloc(p); //这里的p实际还是NULL,p的值没有改变,为什么? if(p) free(p); }程序2:void myMalloc(char **s) { *s=(char *) malloc(100); } void main() { char *p=NULL; myMalloc(&p); //这里的p可以得到正确的值了 if(p) free(p); }程序3: #incl Read More
posted @ 2013-08-30 10:37 星语海蓝 Views(686) Comments(0) Diggs(0) Edit
二级指针又叫双指针。C语言中不存在引用,所以当你试图改变一个指针的值的时候必须使用二级指针。C++中可以使用引用类型来实现。下面讲解C中的二级指针的使用方法。例如我们使用指针来交换两个整型变量的值。错误代码如下:一级指针[cpp]view plaincopy#includevoidswap(int*a,int*b){int*tmp=NULL;tmp=a;a=b;b=tmp;}intmain(intargc,char**argv){inta=2;intb=3;printf("Beforeswapa=%db=%d\n",a,b);swap(&a,&b);prin Read More
posted @ 2013-08-30 10:12 星语海蓝 Views(336) Comments(0) Diggs(0) Edit
用stl的find方法查找一个包含简单类型的vector中的元素是很简单的,例如vector strVec; find(strVec.begin(),strVec.end(),”aa”);假如vector包含一个复合类型的对象呢比如class A { public: A(const std::string str,int id) { this->str=str; this->id=id; } private: std::string str; int id; };这个时候一般的想法是写个函数遍历这个vector,然后进行比较查找。实际上在使用STL的时候,不建议使用循环遍历的查找方 Read More
posted @ 2013-08-28 10:45 星语海蓝 Views(7343) Comments(0) Diggs(1) Edit
c++操作- 查询mysql结果集用mysql进行数据查询的时候,mysql会返回一个结果集给我们。接着我们需要调用mysql的api,从这个结果集中取得我们要的数据。取完数据之后,需要释放这个结果集。mysql的结果集其实就是一个MYSQL_RES结构,其定义如下:typedef structst_mysql_res{my_ulonglong row_count; // 结果集的行数unsigned intfield_count, current_field; // 结果集的列数,当前列MYSQL_FIELD*fields; //... Read More
posted @ 2013-07-22 20:08 星语海蓝 Views(26756) Comments(0) Diggs(0) Edit
为了编译一个简单的源文件main.c,需要自动生成一个makefile,以下是步骤:第一步:----------在/root/project/main目录下创建一个文件main.c,其内容如下:------------------------------------------------#include int main(int argc, char** argv){ printf("Hello, Auto Makefile!\n"); return 0;}------------------------------------------------此时状态如下:[ro Read More
posted @ 2013-07-17 10:06 星语海蓝 Views(512) Comments(0) Diggs(0) Edit
C++知识点一、#include “filename.h”和#include 的区别#include “filename.h”是指编译器将从当前工作目录上开始查找此文件#include 是指编译器将从标准库目录中开始查找此文件二、头文件的作用加强安全检测通过头文件可能方便地调用库功能,而不必关心其实现方式三、* , &修饰符的位置对于*和&修饰符,为了避免误解,最好将修饰符紧靠变量名四、if语句不要将布尔变量与任何值进行比较,那会很容易出错的。整形变量必须要有类型相同的值进行比较浮点变量最好少比点,就算要比也要有值进行限制指针变量要和NULL进行比较,不要和布尔型和整形比较五、 Read More
posted @ 2013-07-13 19:34 星语海蓝 Views(486) Comments(0) Diggs(0) Edit
在Visual C++中用ADO进行数据库编程1. 生成应用程序框架并初始化OLE/COM库环境 创建一个标准的MFC AppWizard(exe)应用程序CADOConnection,然后在使用ADO数据库的InitInstance函数中初始化OLE/COM库(因为ADO库是一个COM DLL库)。 本例为: BOOL CADOConnectionDlg::OnInitDialog() { ::CoInitialize(NULL); //初始化OLE/COM库环境 // 如果没有这一条,系统会报错: 完成该操作所需的数据还不可使用 } 程序最后(可以实在应用程序关闭时)要调用 ::CoUn. Read More
posted @ 2013-07-12 11:50 星语海蓝 Views(5540) Comments(0) Diggs(0) Edit
在学习SQL的时候,本来预计花三天的时候掌握MS SQL这些基础,现在争取提前一天看完。总结沉底下来,其实也没有多少东西:1、程序初始化前,先连接数据库MFC程序中添加记录的代码:[cpp]view plaincopyprint?/************************************************************************//*函数作用:对话框默认初始化函数,连接SQL数据库、添加列表头/*函数参数:无/*返回值:成功返回TRUE,否则返回FALSE/*说明:ByKoma2009-08-2020:18Edit/**************** Read More
posted @ 2013-07-12 10:44 星语海蓝 Views(3064) Comments(0) Diggs(0) Edit
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 25 下一页