- 博客(81)
- 资源 (8)
- 收藏
- 关注
转载 stringstream的用法
<br /><br />stringstream通常是用来做数据转换的。相比c库的转换,它更加安全,自动和直接。<br />例子一:基本数据类型转换例子 int转string<br />#include <string><br />#include <sstream><br />#include <iostream>?<br />int _tmain(int argc, _TCHAR* argv[])<br />{<br />std::stringstream stream;<br />std::s
2010-11-30 16:08:00 489
原创 面试题总结
1、什么是中断?中断发生时CPU做什么工作?中断是指在计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的时间处理程序。待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。
2010-11-27 16:36:00 600
转载 什么是回调函数,如何定义和实现一个类的成员函数为回调函数(转)
<br />C/C++中回调函数初探 <br /> 简介 <br /> <br /> 对于很多初学者来说,往往觉得回调函数很神秘,很想知道回调函数的工作原理。本文将要解释什么是回调函数、它们有什么好处、为什么要使用它们等等问题,在开始之前,假设你已经熟知了函数指针。 <br /> <br /> 什么是回调函数?<br /> 简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。 <br
2010-11-27 16:26:00 5069
转载 关于8086的那点事
<br /><br />8086微处理器共有4个16位的段寄存器,在寻址内存单元时,用它们直接或间接地存放段地址。<br /> 代码段寄存器CS:存放当前执行的程序的段地址。<br /> 数据段寄存器DS:存放当前执行的程序所用操作数的段地址。<br /> 堆栈段寄存器SS:存放当前执行的程序所用堆栈的段地址。<br /> 附加段寄存器ES:存放当前执行程序中一个辅助数据段的段地址。<br />由cs:ip构成指令地址,ss:sp构成堆栈的栈顶地址指针。DS和ES用作数据段和附加段的段地址(段起始地
2010-11-27 16:10:00 816
转载 C++的四种cast操作符的区别
<br />C++的四种cast操作符的区别<br />发信站: 水木社区 (Thu Jan 26 21:15:16 2006), 站内<br /><br />声明 by NetMD:<br />并非我的原创,来自互联网,且是两篇帖子的合集,个人觉得这样才比较完备<br /><br />----------------------------------------------------------------------<br /><br />Q:什么是C风格转换?什么是static
2010-11-27 15:48:00 403
转载 C++ 类的内存结构
<br /> 1。 问题<br /> class A <br /> { <br /> int a; <br /> public: <br /> op(){a=14;}; <br /> int read(){return a ;} <b
2010-11-27 14:44:00 594
转载 ORA-02266: 表中的唯一/主键被启用的外键引用
<br />TRUNCATE TABLE "B2BADMIN"."BIZDOC" DROP STORAGE<br />"q/7s8e}0Error at line 2<br />]B,oyH-a3O0ORA-02266: 表中的唯一/主键被启用的外键引用<br />这个时候可以diable 对应的FK ,删除数据后,再enable 起来。 <br /> <br /><br /> g8q a�jT+m-F0select * from ALL_CONSTRAINTS ITPUB个人空
2010-11-27 09:43:00 3017
原创 ubuntu vim使用技巧
<br />[编辑] 安装 vim <br />控制台版本的vim随ubuntu一起发行,因此没必要安装. 然而,如果您更喜欢GUI界面下的vim的话,请从新立得安装vim-gtk软件包或在终端中输入:<br />sudo apt-get install vim-gtk<br />[编辑] 快速指南<br />Vim 需要学习很多东西。然而,如果您熟悉了vim的话,您可以利用vim的高级特征非常熟练的操作文本。<br />您可以在终端中输入vim来启动控制台模式下的vim,或输入gvim 来启动
2010-11-26 14:20:00 846 1
原创 ubuntu 命令合集
<br />mkdir目录名创建一个目录<br />rmdir空目录名删除一个空目录<br />rm文件名文件名删除一个文件或多个文件<br />rm -rf非空目录名删除一个非空目录下的一切<br />touch文件名创建一个空文件<br /><br />重命名文件夹echWeb-技术社区5].O"?8H.I<br />执行格式: mv source destination<br /> <br />
2010-11-26 14:18:00 411
转载 Ubuntu下su:authentication failure的解决办法
<br />$ su - root<br />Password: <br />su: Authentication failure<br />Sorry.<br />这时候输入<br />$ sudo passwd root<br />Enter new UNIX password: <br />Retype new UNIX password: <br />passwd: password updated successfully<br /> <br />这时候就可以进入根目录
2010-11-26 10:46:00 998
转载 执行COMMIT时ORACLE要做那些工作
<br />COMMIT是一个非常快的操作,当我们发布commit命令时,真正困难的动作已经完成,<br />在数据库中已经执行了数据更改,所以已经完成了99%的任务,例如:下列操作已经产生: 1.在SGA(Buffer Cache)中已经生成了undo块;<br /> 2.在SGA(Buffer Cache)中已经生成了产生改变的数据块和索引块;<br /> 3.在REDO LOG BUFFER生成了前面两项的redo信息;<br /> 4.依赖
2010-11-25 16:58:00 559
转载 约束:USER_CONSTRAINTS
<br />45.6 约束和注释<br />约束和注释有助于理解表和列之间的相互联系。注释只是信息,不能对存储在所描述对象中的数据施加任何条件。而约束定义了数据有效的条件。典型的约束包括NOT NULL、UNIQUE、PRIMARY KEY 和FOREIGN KEY。以下几节将介绍如何从数据字典中检索有关约束和注释的数据。<br />45.6.1 约束:USER_CONSTRAINTS<br />通过USER_CONSTRAINTS 视图,可以访问约束信息。此信息在试图更改数据约束或解决应用程序的数据问
2010-11-25 16:47:00 2709
转载 Oracle中出现“名称已被一现有约束条件占用”问题 怎么查找约束?怎么删除约束???
<br />今天我在进行本地测试,进行新建表和添加表主键约束操作时出现了如下错误:<br />“名称已被一现有约束条件占用”<br /><br /> <br />后来经检查发现原来,我原来建立的表MEDIA_TEST表中已经有一个名为PK_MEDIA的约束了,将其改名,然后,修改操作就PASS了。<br /> <br />查找约束的方法如下:<br />(1)查找某表上的约束<br />select * from user_constraints <br /> where tabl
2010-11-25 15:55:00 5939
原创 指针与数组首地址的一个区别
<br />char* fun()<br />{<br /> char* p = "hellofuckyoubitch";<br /> return p;<br />}<br />char* fun1()<br />{<br /> char p[] = "hellofuckyoubitch";<br /> return p;<br />}<br />int _tmain(int argc, _TCHAR* argv[])<br />{<br /> p
2010-11-25 09:50:00 789
原创 sizeof总结
typedef struct _AAA{ char b; long a; char c; }AAA; sizeof(AAA) 为12typedef struct _AAA{ char b; double a; char c; }AAA; sizeof(AAA) 为24typedef struct _AAA{ char b; char a; char c; }AAA; sizeof(AAA) 为3typ
2010-11-25 09:22:00 397
转载 《末世爱情》
<br />他的心已经死了。<br />他说。 当他想爱一个人的时候,他可以爱。<br /> 如果不想爱,他就可以不爱。<br /> 换言之,他可以爱上任何一个人。 <br />也就是他无法爱上任何一个人。
2010-11-25 09:17:00 421
转载 assert用法总结
<br />assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:<br />#include <assert.h><br />void assert( int expression );<br />assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,<br />然后通过调用 abort 来终止程序运行。<br />请看下面的程序清单badptr.c:<br />#inc
2010-11-24 17:32:00 388
转载 关于WaitForMultipleObjects返回值得问题
<br />如果因时间终了而返回,那返回值是WAIT_TIMEOUT <br /> 如果bWaitAll是TRUE,那么返回值是WAIT_OBJECT_0 <br /> 如果bWaitAll是FALSE,那么返回值减去WAIT_OBJECT_0,就表示哪一个handle被激发了 <br /> 如果函数失败,则返回WAIT_FAILD,这时候你可以用GetLastError()找出失败原因<br /> <br />bWaitAll 为第三个参数
2010-11-24 17:10:00 2371
转载 内存抖动
主题:[原创]请问关于抖动的例子? 作者:zj13033 发表时间:2007-10-30 15:37:00 <br />楼主 请问给出几个抖动的例子?谢谢! <br /> 作者:U.S.S.R 发表时间:2007-10-30 16:21:00 <br />第1楼 寒冷的初冬,漫步在树影斑驳的涅瓦河畔,感受着阵阵吹过的料峭寒风,你也许会不游自主的,全身肌肉快速的脉冲抽动片刻。这就是抖动的感觉吧……<br
2010-11-24 15:59:00 6024
转载 c语言库函数 atoi(将字符串转换成整型数)
<br />当前修订版本<br />atoi(将字符串转换成整型数)<br />相关函数<br /> atof,atol,atrtod,strtol,strtoul<br />表头文件<br /> #include<stdlib.h><br />定义函数<br /> int atoi(const char *nptr);<br />函数说明<br /> atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到 非数字或字符串结束时('
2010-11-24 15:54:00 2709
转载 error C2065: 'CoInitializeEx' : undeclared identifier; 解决方法
<br />在stdafx.h中定义(放在#define VC_EXTRALEAN 的下一行)<br />#define _WIN32_WINNT 0x0500<br /><br />实际上你可以看objbase.h的文件中CoInitializeEx的定义:<br /><br />#if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM<br />WINOLEAPI CoInitializeEx(LPVOID pvReser
2010-11-24 15:52:00 3774
转载 C++获取当前进程的进程号方法
<br />其实我们系统中有现成的函数可以获取到进程号,如下:<br />#ifdef _WIN32<br />#include <process.h><br />#else<br />#include <unistd.h><br />#endif<br />int main()<br />{<br /> int iPid = (int)getpid();<br /> std::cout<<"The process id is: "<<iPid<<std::endl;<br /> r
2010-11-24 14:38:00 23792 1
转载 四种进程或线程同步互斥的控制方法
<br />1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 <br /> 2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 <br /> 3、信号量:为控制一个具有有限数量用户资源而设计。 <br /> 4、事 件:用来通知线程有一些事件已发生,从而启动后继任务的开始。<br />临界区(Critical Section)<br /><br /> 保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。
2010-11-24 09:48:00 567
转载 浅谈PE文件格式
<br />网上看到的一篇文章,写的还不错,对于入门来说 ^^自己又添了点东西<br /> 所有文件都是一些连续(当然实际存储在磁盘上的时候不一定是连续的)的数据组织起来的,不同类型的文件其组织形式也各不相同,PE文件格式便是一种文件组织形式,它是32位Window系统中的可执行文件EXE以及动态连接库文件DLL的组织形式。<br /> 加上几句:操作系统识别可执行文件的方法是按照文件格式而不是按照扩展名。扩展名只起到了一部分作用。例如将exe改为pif或者scr,双击后照样能运
2010-11-23 19:30:00 780
转载 找树中两个节点的最近公共祖先
#include #include structNode{ constNode*left,*right; constchar* name; Node(constNode*left,constNode*right,constchar* name) :left(left), right(right), name(name) {} Node(constchar* name) :left(NULL), right(NULL), n
2010-11-22 22:44:00 740
转载 猫和老鼠玩象棋问题
<br />1. 猫和老鼠玩象棋,玩了M+N局,猫赢了M局 老鼠赢了N局 N>M,而且在整个过程中,猫的得分从来没有超过过老鼠,问共有多少种可能的比赛得分过程<br />第一题没推出来最后公式,不过规律很简单:<br />f(m,n) = f(m-1,n) + f(m,n-1)<br />回溯条件:<br />f(0,n) = 1<br />f(m,n) = 0 (m>n)<br />程序:<br />int calc(int m, int n) {<br /> if (m ==
2010-11-22 22:00:00 778
转载 ORACLE DUAL表详解
1、DUAL表的用途<br />Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中--查看当前连接用户<br />SQL> select user from dual;<br />USER<br />------------------------------<br />SYSTEM--查看当前日期、时间<br />SQL> select sysdate from dual;<br />SYSDATE<br />-----
2010-11-22 14:54:00 347
转载 oracle 通过触发器和sequence 实现字段自增
CREATE TABLE example( ID Number(4) NOT NULL PRIMARY KEY, NAME VARCHAR(25), PHONE VARCHAR(10), ADDRESS VARCHAR(50) );create sequence foo_seq;drop trigger first_trigger;commit;CREATE or replace TRIG
2010-11-22 14:52:00 734
转载 ORACLE中Drop table cascade constraints
当你要drop一个table时,如果删除table的动作会造成trigger或constraint产生矛盾,系统会出现错误警告的讯息而不会允许执行.。一个极简单的例子,例如你有一个员工基本资料表,上面可能有员工编号和员工姓名等字段,另外有一个员工销售表,上面有员工编号和员工销售额两个字段,员工薪资表的员工编号字段为一个foreign key参照到员工基本资料表的员工编号:SQL> drop table t;Table dropped.SQL> drop table t1;Ta
2010-11-22 11:27:00 5029
转载 中兴面试
<br />技术面:<br /> 1、平衡二叉树的定义<br /> 2、前序、中序、后序(任意两个推出第三个的可能性)<br /> 3、排序的种类<br /> 4、操作系统的作用<br /> 5、进程间通信的作用<br /> 6、break/continue的区别<br /> goto语句可以避免么?<br /> 递归在C语言中怎么替换?<br /> 7、数据库的三个基本数据模型<br />
2010-11-21 22:36:00 868
转载 Linux下段错误的原因以及调试方法
<br />简而言之,产生段错误就是访问了错误的内存段。<br />一、一般来说,段错误就是指访问的内存超出了系统分配给这个程序的内存空间,通常这个值是由gdtr来保存的,<br />1)gdtr是一个48位的寄存器,其中的32位是保 存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别。<br />2)指向的gdt是由以64位为一 个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相应的段限和页面交换还有程序运行级别
2010-11-21 22:34:00 2467 1
转载 排序算法总结
<br />1、直接插入排序<br />1)稳定性:稳定<br />2)适用情况:待排记录规模较小,或者记录已经基本有序<br />2、希尔排序<br />1)稳定性:不稳定<br />2)特点:希尔排序的执行时间依赖于增量序列,它的效率比直接插入排序有较大的改进。<br />3、冒泡排序<br />1)稳定性:稳定<br />2)特点:当待排记录基本有序是,冒泡排序是不错的选择;但由于冒泡排序的记录移动次数较多,故平均时间性能比直接插入排序差很多。<br />4、快速排序<br />1)稳定性:不稳定<b
2010-11-21 22:29:00 530
原创 操作系统概念
<br />1、系统调用大致可以分为五类:进程管理,文件管理,设备管理,信息维护,通信。<br />(1)信息维护:获取时间、日期,获取系统信息等。<br />(2)两种常见的通信模型:消息传递(必须先打开连接)和共享内存。<br />2、Java通过Java虚拟机(JVM)来实现平台无关的可移植性。<br />3、将CPU切换到另一个进程需要保存原来进程的状态并装入新进程的保存状态。这一任务称为上下文切换。<br />(1)、fork()之后,操作系统会创建一个和父进程完全相同的子进程,他们共享代码区,但
2010-11-21 22:26:00 680
转载 栈和局部变量 计算机系统的字节存储方式
1、函数形参和局部变量是保存在栈中的,在Windows中栈是从高地址向低地址扩展的。我们可以从下面的例子中直观的看到:#include int main(void){char s[]="123456789";char d[]="123";strcpy(d,s);printf("%s,/n%s",d,s);return 0;}结果输出:123456789,56789。解析:栈是从高地址向低地址扩展的,因此先定义的局部变量的地址高,后定义的局部变量的地址低。故在内存中
2010-11-21 22:07:00 968
转载 __rotate_cycle函数详解
<br />这里的rotate操作,也就是指循环移位。比如将串“ABCDEFG”以D为中心旋转,就相当将该串向左循环移位,直到第一个元素为D为止,最后得到新串“DEFGABC”。要想方便的完成rotate操作,一个常见的技巧是这样的:先将前半部分反转,再将后半部分反转,最后再将整个串反转即可(这里的前半部分与后半部分是以旋转中心来划分的)。还是以串“ABCDEFG”以D为中心旋转为例,以D为分割点,将先半部分与后半部分分别反转后,得“CBAGFED”,最后将整个串反转即得“DEFGABC”。这个
2010-11-21 17:23:00 2258
原创 c++ 文件的输入与输出
<br />(1),ifstream, <br />ifstream infile(ifile.c_str()); //construct an ifstream and bind it to the file named ifile<br />或infile.open("in");<br /> <br />(2),ofstream,<br />ofstream outfile(ofile.c_str()); //ofstream output file object to wri
2010-11-21 11:42:00 691
转载 各种字符串类型 string和wstring之间的转化
<br />熟悉一下字符类型,char, wchar_t, TCHAR,最熟悉的char是单字节字符,适用于ANSI编码;wchar_t<br />是双字节的宽字符类型,适用于unicode编码;TCHAR是一个宏,在ANSI坏境下定义为char,unicode<br />坏境下定义为wchar_t。<br />怎么来表示字符串?对,字符数组,要知道在C++语言里面,其实没有数组的数据结构,所谓数组,都<br />是由指针+长度来表示。字符型指针const char *, const wchar_t *,
2010-11-21 09:59:00 5460
原创 wcout的一些介绍
<br />int _tmain(int argc, _TCHAR* argv[])<br />{<br /> wcout.imbue(std::locale("chs"));<br /> wstring s = (L"我爱");<br /> wcout << s << endl;<br /> wcout << L"我爱你" << endl;<br /><br /> system("pause");<br /> return 0;<br />}<br /> <
2010-11-21 09:46:00 9443 1
转载 C++学习:输入输出I/O
<br />1、scanf函数<br />(1)函数scanf识别某个指定类型的数据的过程,在遇到了指定的字符或空白符或不可识别的字符时终止。对于字符串类型的数据,输入过程直到读入空白符为止,并且会自动在读入的字符串后面加上一个'/0'。<br />(2)如果要输入包含空格的字符串,则相应的格式控制字符串"%s"应写成"%[...]",并把允许在输入字符串中出现的字符逐个列在方括号中。对于字母和数字,可以用符号'-'来缩写。例如 :<br />char s[10];<br />scanf("%[a-zA
2010-11-20 21:20:00 1051
tcmalloc 安装包
2012-04-17
tcmalloc 源代码工程
2012-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人