
C++开发 学习笔记
AriFe.
会当凌绝顶,一览众山小。
展开
-
CppSQLite3U使用小结
CppSQLite3U是一个封装好的MFC可以使用的操作sqlite3的类,之前自己写过一部份,但是后来总觉得不够成熟,总要去修改代码,觉得不够完善,索性就在网上找到了这个用了起来,用来一段时间后,发现还挺不错的,duang的一下,效果就出来了,现在写写这篇文章,是要告诉你们,我可以这样简单方便的使用,在你看完我的介绍后,你也可以。附件稍后上传,总共有五个文件CppSQLite3U.cpp原创 2015-03-26 16:34:03 · 2868 阅读 · 1 评论 -
Day45_C++&&C
2013年12月03日 星期二 10时45分22秒 -----------------------First Hello C++--------------------------- 1 #include //头文件不再用stdio.h 2 int main(void) 3 { 4 std::cout 5 //输出信息不用printf函数原创 2013-12-14 16:31:59 · 769 阅读 · 0 评论 -
Day21_二叉树、冒泡、排序
2013年10月29日 星期二 09时45分44秒 回顾: 链表 - 单向链表和双向链表 链表数组、数组链表、二维链表(不是很常用)今天: 树 - 有序二叉树 树型结构就是 数据元素是 一对多的父子关系 树型结构中最简单的就是 二叉树,就是每个父节点最多只能有2个子节点,每个子节点只有一个父节点。每个树都只有一个 跟节点,其它节点都是由 根节原创 2013-11-25 21:59:38 · 810 阅读 · 0 评论 -
Day19_队列
顺序结构 的数据元素 就是 数据链式结构 的数据元素 是节点,节点由数据和地址组成运算结构包括:运算结构主要针对数据结构的行为,一般都体现为各种函数,主要有:创建和销毁、增加和删除元素、取出和修改、排序、查询等算法;堆栈 - 先进后出,后进先出(倒序排队) 输入十进制整数和进制数,利用堆栈以指定进制格式打印该十进制数 思路:先把整数对进制 取余,余数放入原创 2013-11-25 21:58:26 · 550 阅读 · 0 评论 -
Day38_数据库、内连、外连
2013年11月22日 星期五 10时07分41秒 2.测试单行函数 dual 单行单列的标 a.字符串处理函数 upper 变大写 lower 变小写 select lower("HELLO") from dual; initcap 每个单词的首字母大写 select in原创 2013-11-25 22:12:29 · 642 阅读 · 0 评论 -
Day36_线程同步
Unix 线程同步技术:互斥量、信号量、条件变量(了解) 由于同一进程内部的多线程共享进程的资源,因此有可能出现共享数据的冲突,解决方案就是线程同步技术。互斥量是pthread.h自身提供的同步技术,信号量是外部提供的。同步技术的 基础方法就是把并行改为串行,所以 大幅降低效率。因此同步技术只用于限制对共享资源的使用 线程同步技术之互斥变量(锁): 互斥量的功能就是给临界资源原创 2013-11-25 22:09:08 · 611 阅读 · 0 评论 -
Day35_多线程
多线程 主流操作系统中,允许多个进程同时运行,每个进程的内存 支持 多线程同时运行。在一个进程的内部如果想有多端代码同时执行,必须使用多线程 main()其实就是一个线程,叫主线程。除了主线程,进程中还有其它的线程,形成了多线程 进程是重量级的,每个进程都需要自己独立的内存空间,资源开销非常大 线程是轻量级的,不需要拥有自己独立的内存空间,共享进程的资源(内存、文件等)即可原创 2013-11-25 22:08:42 · 605 阅读 · 0 评论 -
Day34_TCP、UDP网络编程
网络编程: 网络编程需要使用通信地址 sockaddr_in ,其中的端口和IP都要做转换,端口要从本机格式转网络格式,IP要从点分十进制转十六进制。函数: htons() - 本机 转 网络(端口) inet_addr() - 点分十进制 转 十六进制 (IP) TCP网络编程步骤: 一对多(也实现一对一): 服务器端: 1.创建so原创 2013-11-25 22:07:57 · 752 阅读 · 0 评论 -
Day32_简易版ATM
* * 内容: * 一个简易版的银行ATM系统 * 1.开户 2.销户 3.存钱 4.取钱 5.查询余额 6.转帐 7.退出 * 分析: * 开户 - 实现用户新开一个账户,账户写一个结构(account),包括: * 帐号,姓名,密码,金额 * 在某个头文件中定义 * 写两个进程,一个进程做SER原创 2013-11-25 22:06:59 · 785 阅读 · 0 评论 -
day30_信号
2013年11月12日 星期二 09时53分40秒 Today: 信号 - 非负整数,信号0是什么? 信号0 没有特定的用途,主要用来测试是否有发送信号的权限 IPC(进程间通信)- 管道 信号的发送方式: 1.键盘发送(部分信号) Ctrl+C -> 发送信号2 Ctrl+\ -> 发送信号3 Ctrl+Z原创 2013-11-25 22:05:31 · 633 阅读 · 0 评论 -
Day29_wait、waitpid及信号
进程退出wait() 和 waitpid()vfork() 和 exec系列函数信号进程退出的方式: 正常退出: 1.main()执行了return 2.执行了 exit() _exit() _Exit()函数 3.最后一个线程结束 非正常退出: 1.收到了信号 2.最后一个线程 被取消 exit() 和 _Exi原创 2013-11-25 22:05:03 · 950 阅读 · 0 评论 -
Day27_UC文件操作其它函数(非读写)
回顾: 文件读写 - open() read() write() close() lseek()Today: 文件其他函数(非读写) 目录操作 文件的函数:dup(int oldfd); dup2(int oldfd,int newfd); dup() 和 dup2() - 复制文件描述符,但不复制文件表 dup() 和 dup2()的原创 2013-11-25 22:04:03 · 750 阅读 · 0 评论 -
Day39_组函数、分组、DML、事务控制、时间格式
一.单行函数 1.处理字符串的单行函数 upper(par1) lower(par1) initcap(par1) concat(par1,par2) length(par1) substr(par1,par2,par3) nvl(par1,par2) 2.处理数字的单行函数 round trun原创 2013-12-14 16:25:59 · 699 阅读 · 0 评论 -
Day41_PLSQL的使用
一、数据库访问相关的技术 1.plsql procedure 过程化sql 2.proc/c++ 使用c或者c++访问oracle数据库 3.odbc/ado vc中访问数据库的技术 4.oci oracle底层提供的连接接口 5.sqlj/jdbc java访问数据库的技术二、plsql的特点 结构化 模块化编程 良好的可移植性 良好的可维护原创 2013-12-14 16:28:32 · 666 阅读 · 0 评论 -
Day42_PLSQL 游标、循环、DML
2013年11月28日 星期四 09时37分57秒 一、PLSQL 中如何使用sql语句 1.select 语句 select 语句要和into结合使用 select id,first_name into 变量 from s_emp where id=1; 2.dml语句(insert delete update) tcl语句(commit rol原创 2013-12-14 16:29:47 · 891 阅读 · 0 评论 -
QQ空间登陆协议分析-2014年8月
QQ空间登陆协议分析以及具体思路及流程原创 2014-09-12 11:26:36 · 4690 阅读 · 1 评论 -
QQ空间登陆参数2147483647分析
pgv_pvid: 通过网页源码可以看到他是这样实现的d = (Math.round(Math.random() * 2147483647) * (new Date().getUTCMilliseconds())) % 10000000000;Math.random()原创 2014-08-20 11:51:33 · 2318 阅读 · 0 评论 -
VC6编写程序具备XP风格方法
当然这个方法网上传的到处都是,这里自己记录下使用方法,方便日后查看原创 2014-06-18 10:54:04 · 631 阅读 · 0 评论 -
HTTP请求流程以及请求信息分析
1.建立TCP/IP连接,在浏览器中输入网址进行访问,如:http://www.muyibu.com2.发送HTTP请求,一个请求包括四个部分:请求行、请求头标、空行和请求数据 请求方法:HTTP规范定义了8种可能的请求方法: GET 检索URI中标识资源的一个简单请求 HEAD 与转载 2014-05-13 11:45:57 · 674 阅读 · 0 评论 -
再用Sqlite3 之学习新解,新感悟
之前为了使用Sqlite找了好多资料,最后发现都不尽人意,起初为了让能够把select * from table所有数据显示在list上,结果费了好大的功夫,最开始用回掉函数,但是它必须用static声明,这就产生了非常大的麻烦。花了一下午结果就是未果。放弃了,换了第二种方法,sqlite3_get_table;这种方法虽然很麻烦,但是当时确实是实实在在的解决了我的问题。昨天在想一个问题,原创 2014-03-22 10:25:56 · 786 阅读 · 0 评论 -
VC6.0使用Sqlite3 历程
参考网文:http://hi.baidu.com/lanmolei814/item/c08c82cb11ff612fa1b50a231.前往sqlite官网,下载到sqlitedll-3_3_7.zip,以及sqlite-source-3_3_7.zip2.按照说明,把sqlitedll-3_3_7.zip解压得到dll和def文件3.把def文件放在了vc安装目录(D:\Progra原创 2014-03-12 21:03:24 · 921 阅读 · 0 评论 -
-128___1000 0000
关于计算机中-128的补码问题的解决整理相信许多朋友都遇到过这样的问题。。。今天总结整理了一下网络上的东西。。。大概可以有三种解释[分别是:取反加1;从高位向8位的推理,以及从和-128相邻数的推理,具体如下。](首先把答案告诉大家,是1000 0000):(网络搜集整理而成。。。)第一种:在计算机中,负数以其正值的补码形式表达。 什么叫补码呢?这得从原码,反码说起转载 2014-03-06 20:39:58 · 775 阅读 · 0 评论 -
Day41_PLSQL的使用
一、数据库访问相关的技术 1.plsql procedure 过程化sql 2.proc/c++ 使用c或者c++访问oracle数据库 3.odbc/ado vc中访问数据库的技术 4.oci oracle底层提供的连接接口 5.sqlj/jdbc java访问数据库的技术二、plsql的特点 结构化 模块化编程 良好的可移植性 良好的可维护原创 2013-12-14 16:28:42 · 685 阅读 · 0 评论 -
Day40_日期处理、约束、外键
一、组函数和分组 1.常见的组函数 count max min sum avg 2.组函数中可以使用distinct 3.组函数对NULL值的处理方式是忽略二、分组 1.按照一定的标准 把数据分成若干部分 group by 分组标准 2.如何对组数据进行过滤 having 3.sql语句的原创 2013-12-14 16:26:57 · 730 阅读 · 0 评论 -
Day44_PRO_C的使用
一、proc如何使用sql语句 1.select 语句 只要在语句前 加exec sql 并且结合 into 使用 exec sql select first_name into :var_name from s_emp where id=1; 2.dml(insert delete update) ddl(create drop alter) tcl(c原创 2013-12-14 16:31:17 · 816 阅读 · 0 评论 -
Day43_PRO_c
一.什么是pro程序 1.概念 通过在过程化编程语言中嵌入sql语句 开发出的应用程序叫pro程序 2.proc/c++ 目的:使c或者c++这种高效的语言 成为访问oracle数据库的工具二.proc中和数据库操作相关的 /* 包含sqlca这个数据结构 */ exec sql include sqlca; /* 连接数据库 */ ex原创 2013-12-14 16:30:28 · 663 阅读 · 0 评论 -
Day26_UC文件操作函数(读写)
回顾: Unix/Linux内存分配的函数和系统函数: malloc() free() sbrk() brk() mmap() munmap()今天: 文件描述符 - 对应一张文件表,文件信息存在文件表中,描述符只是文件表在进程文件总表中的编号,本质就是一个非负数 open() read() write() close() ioctl()/* i原创 2013-11-25 22:03:32 · 826 阅读 · 0 评论 -
Day25_sbrk()、mmap()
2013年11月05日 星期二 10时16分38秒 -----------------------------------------------------------i=100,&i=0xbfa6787c 1 #include 2 3 int main() 4 { 5 int* p = (int*)0xbfa6787c; 6原创 2013-11-25 22:02:56 · 626 阅读 · 0 评论 -
Day06_操作符-类型转换及分支语句
2013年10月11日 星期五 10时12分25秒 回顾: 略 作业: 1.闰年练习 2.红绿灯练习移位操作符可以把二进制位统一向左或者向右移动n位向左移动使用向右移动使用>>表示移位操作符要求左右两边都是可以当作数字使用的左边的数字是要进行移位操作的数字右边的数字是移动的位数如果移位操作过程中没有丢失有效数位则左移N位相当于乘以2的N次方,右移原创 2013-10-26 16:44:11 · 850 阅读 · 0 评论 -
Day18_数据结构(顺序、链式)
----------2013年10月25日 星期五 10时35分33秒 ---------数据结构和算法(3-4天) 数据结构 - 堆栈、队列、链表、二叉树 算法 - 排序算法、查找算法Unix下的C的开发(15天左右) Unix/Linux的库 - 动态库,静态库 Unix/Linux的内存管理 文件操作 目录操作 进程管理 信号处理 IPC(原创 2013-10-26 16:57:35 · 708 阅读 · 0 评论 -
Day17_堆变量、qsort等函数使用
堆中变量的生命周期由程序控制为了使用堆中变量,需要一组标准函数,为了使用这些标准函数,需要包含stdlib.h文件malloc可以从堆中分配多个连续的字节--------------------------------------------------------- 1 #include 2 #include 3 4 int main()原创 2013-10-26 16:56:13 · 644 阅读 · 0 评论 -
Day13_字符串、指针数组
day13_字符串、指针数组2013年10月19日 星期六 09时58分24秒 程序在内存中是分段落存放的代码段 程序中的所有语句存放在这个段落中,运行时不可以被修改全局段 存放全局变量和静态变量,大小不会随着程序的运行而改变栈 存放局部变量,块变量,形参,返回值,大小会随着程序的运行而改变 变化方式遵循后进先出原则 每个函数在运行的时候都会从栈中分配一段原创 2013-10-26 16:53:01 · 635 阅读 · 0 评论 -
Day11_递归、变量生命周期及作用域
2013年10月17日 星期四 10时30分52秒 使用函数调用语句再次调用自己的函数叫做递归函数递归函数可以实现类似循环的效果递归函数编写原则1.必须使用分支2.至少有一个分组不会递归调用3.不会递归调用的分支必须有机会执行4.分支的逻辑表达式中必须使用参数使用递归函数解决问题的思路叫做递归使用循环解决类似问题的思路叫做递推适合使用递归方式解决的问原创 2013-10-26 16:50:34 · 998 阅读 · 0 评论 -
Day08_数组
2013年10月14日 星期一 10时39分20秒 数组是由一组同类型的变量构成的数组主要用来记录一组相关数字数组中的所有变量在内存中是连续排列的整个数组有一个统一的名称,数组中的单个变量不再有自己的名字数组中的每个变量有一个编号,它叫做下标。不同变量的下标不同,下标从0开始数组中排列在最前的变量下标是0,往后依次类推禁止使用超过范围的下标使用循环操作数组才原创 2013-10-26 16:46:31 · 802 阅读 · 0 评论 -
Day07_for多种写法以及while.do用法
2013年10月12日 星期六 10时38分35秒 循环中可以使用birek;终止循环的执行执行了break;语句后循环中的任何其它语句都不会再执行假设有如下for语句for(1;2;3){ 4}for语句按照如下分组执行[1,2] [4,3,2] [4,3,2]...[4,3,2]第一祖和后面所有组都不一样正常情况下for是在某一组完成后结束原创 2013-10-26 16:45:25 · 983 阅读 · 0 评论 -
Day03_变量、求余及scanf函数使用
2013年10月08日 星期二 09时45分46秒 回顾: 1.linux命令 2.C语言开发基本知识作业: 1.砝码问题2013年10月08日 星期二 10时28分26秒 变量是C语言程序中唯一用来记录数字的工具变量代表计算机里面的一个位置变量必须首先声明然后才能使用,变量声明语句用来声明变量变量声明语句要给变量命名,以后在这个程序原创 2013-10-10 22:27:57 · 1010 阅读 · 0 评论 -
Day04_数据类型占位符使用及进制转换
2013年10月09日 星期三 10时03分51秒 回顾: 1.变量 2.scanf标准函数字符类型是一种数据类型在C语言程序中字符类型用char表示字符类型中包含了256个不同的字符,例如'a','+','~' ...字符类型中的所有字符在计算机中都是使用数字表示的ASCII码表描述了字符和数字之间的对应关系'a' -- 97'A' -- 65'0原创 2013-10-10 22:29:17 · 1454 阅读 · 0 评论 -
Day05_C操作符及二进制补码计算
回顾: 1.数据类型 2.二进制(八进制,十六进制)---------------------------------------------------------计算机中不可以使用负号表示负数计算负数二进制的过程: 1.计算出相反数的二进制 2.把上一步的结果按位求反再加一使用上述方法计算出的结果就是二进制补码,可以直接存储在计算机中所有数据类型中,原创 2013-10-10 22:30:41 · 1021 阅读 · 0 评论 -
Day02_VI基本操作及C基础
2013年09月30日 星期一 09时37分03秒 回顾: 1. linux系统的知识背景 2. vi的使用在正常模式下使用nyy可以把光标所在行开始的连续n行拷贝到剪贴板上去在正常模式下使用np命令可以把剪贴板上的内容在当前光标所在行的下面粘贴n次在正常模式下使用ndd命令可以把当前光标所在行下面的连续n行剪切到剪贴板上:set命令是设置命令:set原创 2013-09-30 19:31:22 · 998 阅读 · 0 评论 -
Day09_变量~函数
2013年10月15日 星期二 15时31分11秒 C语言中可以使用函数包含一组相关的语句每个函数完成一个完整的工作所有的C语言程序都是由若干个函数构成的每个函数都有自己的名字,不同函数的名字不同每个C语言程序中必须有一个叫做main的主函数程序运行期间函数之间发生的联系叫做函数的调用;函数之间的调用关系和时间关系函数调用的过程中主动发起的一方叫做调用函数,原创 2013-10-26 16:47:39 · 690 阅读 · 0 评论