
c/c++
文章平均质量分 79
zx824
这个作者很懒,什么都没留下…
展开
-
undefined reference to错误 和ORA-06553: PLS-306: wrong number or types of arguments in call to "OGC_X"
项目中遇到的两个错误:1.undefined reference to错误首先确认你的变量名字是否正确的,包括大小写检查。由于新添加了日志动态链接库先前的项目中,用到了一个数据库的database.so图1添加日志后:图2在使用log.so的过程中,Main.cpp和databas.so分别使用log.so是没有问题的原创 2011-09-21 16:23:00 · 5527 阅读 · 0 评论 -
浅谈声明和定义区别
转载:http://developer.51cto.com/art/201105/261467.htm这两个概念有必须解释一下 ,首先,必须知道“声明”和“定义”之间的区别,因为这两个术语在经常出现在我们平时的talking中,有责任去明白她们。一般解释来说:声明是告诉编译器存在这么一个标识符。定义则是为程序申请一块内存。例如: int x; //这是一个转载 2011-09-15 14:32:54 · 524 阅读 · 0 评论 -
C++中std::string的成员函数 、cctype的函数
转载:http://apps.hi.baidu.com/share/detail/16043543http://hi.baidu.com/wangxiaoliblog/blog/item/e2148b163fbc974e21a4e9f7.htmlC++中std::string的成员函数string类的构造函数:string(const char *s);转载 2011-09-15 16:37:58 · 1331 阅读 · 0 评论 -
getline()忽略开头换行符
使用cin.clear()或cin.ignore()跳过最开始的终止符例如int main(){ string strline; cin>>strline; cout<<strline<<endl; cin.ignore(1);//忽略一个字符 getline(cin,strline); cout<<strline<<endl;原创 2011-09-16 15:33:10 · 3763 阅读 · 0 评论 -
NUL,NULL---《c和指针》笔记
NUL 是ASCII字符集中‘\0’字符的名字,它的字节模式为全0.NULL指一个其值为0的指针。它们都是整型值,其值也相同,所以它们可以互换使用。然而,你还是应该使用适当的常量。因为它能告诉阅读程序的人不仅使用0这个值,而且告诉他使用这个值的目的。符号NULL在头文件stdio.h中定义。另一方面,并不存在预定义的符号NUL,如果你想使用它而不是字符常量‘原创 2011-10-10 17:32:02 · 930 阅读 · 0 评论 -
char与signed char, unsigned char的区别
一、开始今天有一个困扰的问题,就是char与signed char, unsigned char这三者的区别。二、三者之间1.ANSI C 提供了3种字符类型,分别是char、signed char、unsigned char。而不是像short、int一样只有两种(int默认就是unsigned int).2.三者都占1个字节3.signed char取值范围是 -128 到转载 2011-10-18 14:07:13 · 32798 阅读 · 0 评论 -
不带signed或unsigned关键字的char型 无符号数? 有符号数? C标准规定为 Implementation Defined !!!
转载地址:http://hi.baidu.com/thewillreigns/blog/item/67e665c4296e69c038db492d.htmlchar 和 unsigned char是无符号的两者都作为字符用的话是没有区别的,但当整数用时有区别: char 整数范围为-128到127( 0x80__0x7F), 而unsigned char 整数范围为0到255(转载 2011-10-18 15:02:30 · 6168 阅读 · 0 评论 -
《c和指针》3.1.3 二 、字符串常量 :不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组赋值
原文:你可以把字符串常量赋值给一个“指向字符的指针”,后者指向这些字符所存储的地址。但是,你不能把字符串常量赋值给一个字符数组,因为字符串常量的直接值是一个指针,而不是这些字符本身。举例如下:char s[20];s="helo";//这样是错误的char s[20];char ss[]="hello";s=ss;//这也是错误的原因就是:你不转载 2011-10-18 17:58:44 · 5136 阅读 · 0 评论 -
运算符优先级顺口溜
括号成员第一; //括号运算符[]() 成员运算符. -> 全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*& 乘除余三,加减四; //这个"余"是指取余运算即% 移位五,关系六; //移位运算符:转载 2011-10-31 14:33:36 · 937 阅读 · 0 评论 -
程序的链接和装入及Linux下动态链接的实现
转载:http://www.ibm.com/developerworks/cn/linux/l-dynlink/简介: 程序的链接和装入存在着多种方法,而如今最为流行的当属动态链接、动态装入方法。本文首先回顾了链接器和装入器的基本工作原理及这一技术的发展历史,然后通过实际的例子剖析了Linux系统下动态链接的实现。了解底层关键技术的实现细节对系统分析和设计人员无疑是必须的,尤其当我们在面对实时转载 2011-09-14 16:27:59 · 574 阅读 · 0 评论 -
左值右值
左值(lvalue)和右值(rvalue)是编程中两个非常基本的概念,但是也非常容易让人误解,看了很多文章,自我感觉真正将这个问题讲的很透彻的文章还没有看见,所以自告奋勇来尝试一下。如果左值右值的概念不是非常清楚的话,它们迟早会像拦路虎一样跳出来,让你烦心不已,就像玩电脑游戏的时候每隔一段时间总有那么几个地雷考验你的耐性,如果一次把所有地雷扫尽就好了。:)左值(lvalue)和右值(rvalu转载 2011-09-08 11:12:40 · 477 阅读 · 0 评论 -
C/C++程序员应聘常见面试题深入剖析
更正原帖的一个错误:strcpy中,10分的实现:while( (*address++ = * strSrc++) != ‘\0’ );原文地址:http://dev.yesky.com/471/2306471.shtml1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答转载 2011-07-25 17:49:25 · 675 阅读 · 0 评论 -
测试大小端的程序&测试数据类型占用的字节数
1.测试大小端的程序#includeunion ss{short int i;char c[2];};void main(){union ss x; x.c[0]=10; x.c[1]=1; printf("%d",x.i);}由于定义的共用体ss中的变量i和c共同占有2个字节的地址,而编译器VC是小端模式,故字符数组c和短整形i在内存原创 2011-07-28 17:57:48 · 2004 阅读 · 4 评论 -
c++里关于cerr,clog,cout三者的区别
c++里关于cerr,clog,cout三者的区别:cerr(无缓冲标准错误)-----没有缓冲,发送给它的内容立即被输出clog(缓冲标准错误)--------有缓冲,缓冲区满时输出cout-------------------------标准输出三个都是ostream类定义的输出流对象,cout是在终端显示器输出,cout流在内存中对应开辟了一个缓冲区,用来存放流中转载 2011-07-29 15:21:05 · 6515 阅读 · 0 评论 -
C++变量名放哪了
http://hi.baidu.com/jacky_jiajb/blog/item/fb5cfa360cdb1b1d90ef3931.html 原文地址解释1:C++对变量名不作存储,在汇编以后不会出现变量名,变量名作用只是用于方便编译器成汇编代码,是给编译器看的,是方便人阅读的。……int n=5;……编译器编译它时,产生类似mov [0x00410FC0],5转载 2011-08-11 10:08:41 · 2281 阅读 · 0 评论 -
浮点型
几乎所有计算机都支持二进制数据表示,即能直接识别二进制数据表示并具有相应的指令系统。 通常采用的二进制定点数据表示主要有:符号数值、反码、补码以及带偏移增值码四种形式,其中最常用的是补码形式,这些都已在计算机组成原理课程中做了详细讨论,这里不再阐述。 二进制浮点数的表示,由于不同机器所选的基值、尾数位长度和阶码位长度不同,因此对浮点数表示有较大差别,这就不利于软件在不同计算机间的移植。原创 2011-08-25 15:11:25 · 792 阅读 · 0 评论 -
C++ Primer 中文版(第四版)学习笔记
刚刚学习C++ Primer,转点学习笔记督促学习:原文地址:http://hi.baidu.com/50254147/blog/item/8207ee8e314681e2f01f369d.html第一部分基本语言第二章 变量和基本类型1. wchar_t类型用于扩展字符集,比如汉字和日语,这些字符集中的一些字符不能用单个char表示;2.转载 2011-08-25 17:38:12 · 682 阅读 · 0 评论 -
c++primer第二章“c++定义了几种基本类型,还提供了可用于自定义数据类型的机制,此外,我们还能修改已有的类型以形成复合类型”
此外,我们还能修改已有的类型以形成复合类型是什么意思?暂时理解为:int是基本类型,修改基本类型,形成复合类型为:int*,int&,int[]答案参考:http://topic.youkuaiyun.com/u/20071029/23/683e24e3-0338-44dc-bee4-40d92e952f3f.html原创 2011-09-07 10:02:33 · 856 阅读 · 0 评论 -
extern 用法,全局变量与头文件(重复定义)
用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字,如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include(xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢??这个问题一直也是似是而非的困扰着我许多年了,今天上网狠狠查了一下总算小有所获了:头文件首先说下头文件,其实头文件对计算机而言没什么作用,她只是在预编译时在#in转载 2011-09-07 18:13:39 · 698 阅读 · 0 评论 -
C语言:内存字节对齐详解
为什么要内存对齐????这篇帖子讨论的很激烈,也能从中学到一些知识。http://topic.youkuaiyun.com/t/20030707/17/2000453.html摘抄部分如下:大家都知道一个byte是8个bit,而现在流行的32位机指的是一次可以存取32个bit,也就是4个byte,在这种情况下,最有效率的作法当然是一次读4个byte。也就是即便你只取一个byte的内容,实际上,转载 2011-11-01 10:55:00 · 534 阅读 · 0 评论 -
sscanf() 函数读入msn协议包 中需要的信息
msn聊天信息的包格式:SDG 10 303\r\nRouting: 1.0\r\nTo: 1:totest@hotmail.com\r\nFrom: 1:fromtest@hotmail.com;epid={4b84929f-aa3b-4967-a00c-6d4675ee342b}\r\n\r\nMessaging: 2.0\r\nMessage-Type: Text原创 2011-11-17 16:31:51 · 645 阅读 · 0 评论 -
C中字符串和字符数组的区别
字符串是一种重要的数据类型,但是c语言并没有显示的字符串数据类型,因为字符串以字符串常量的形式出现或者存储于字符数组中。---------《c和指针》第九章Q:char s[] = "abc";char *str = "abc";数组s和字符串str有什么不同吗?void _strtolower(char *str) //转小写{原创 2011-12-07 11:18:34 · 7125 阅读 · 0 评论 -
数据类型,可移植性的习题---c和指针
3.13-3题目:假定你正编写一个程序,它必须运行于两台机器上。这两台机器的缺省整型长度并不相同,一个是16位,另一个是32位。而这两台机器的长整型长度分别是32位和64位。程序所使用的有些变量的值并不太大,足以保存于任何一台机器的缺省整型变量中,但有些变量的值却交大,必须是32为的整型变量才能容纳他。一种可行的解决方案是用长整型表示所有的值,但在16位机器上,也存在时间和空间的浪原创 2011-10-19 16:50:56 · 1781 阅读 · 3 评论 -
为什么一般不用一个整数给一个指针变量赋初值?[c/c++]
-----------摘自《c和指针》6.9指针常量----------------------------------------------------------------------------------------------------------------------------------假定变量a存储于位置100,下面这条语句的作用是什么?*100 =25;原创 2011-08-12 11:39:06 · 9559 阅读 · 0 评论 -
extern "C"的用法解析--C++中extern “C”含义深层探索
转载:http://blog.sina.com.cn/u/494a1ebc010004g5 1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属转载 2011-09-14 16:00:29 · 801 阅读 · 0 评论 -
C里面怎么把字符串转成数字
atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include 定义函数 double atof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转载 2011-09-26 14:59:52 · 3549 阅读 · 0 评论 -
交叉编译器
在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统(Operating System)。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同转载 2011-10-11 10:15:52 · 785 阅读 · 0 评论 -
浅谈C中的malloc和free
在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助!转载 2011-10-17 16:32:59 · 823 阅读 · 0 评论 -
c/c++下修改字符串常量
请在(且只能在TC2.0)中运行下面代码,先不要看结果,想想会得到什么: #include #include int main( int argn, char* argv[] ) { char* szStringA = "Hello,world!"; char*转载 2011-10-18 17:25:48 · 736 阅读 · 0 评论 -
无符号数与有符号数的操作
void sum(void) { unsigned int a = 6; int b = -10; if(a + b > 6) puts(">6"); else puts("<6"); } .当混合不同类型的变量进行计算时,便可能会发生类型转换 相同类型的数据在转换时有规则可循:转载 2011-12-05 15:10:33 · 832 阅读 · 0 评论 -
属于文件作用域的声明在缺省情况下为external链接属性
属于文件作用域的声明在缺省情况下为external链接属性用一个程序验证:hello.c#includeextern a;extern b;int main(){printf("%d,%d\n",a,b);}a.cint a=4,b=6编译:gcc a.c hello.c输出:4,6这个验证是正原创 2011-10-19 14:43:59 · 850 阅读 · 0 评论 -
socket bad address 错误的解决
文章转载自:http://www.isongzi.com/2009/03/26/socket-bad-address/不明白,为什么在读取socket缓冲的时候出现bad address 错误?发送端write返回值正常,接收端read却返回0,并且打印bad address 错误信息。接收端代码:receive.c#include #include #include #in转载 2011-10-14 17:32:46 · 18653 阅读 · 0 评论 -
strpbrk和strcspn用法
strpbrk和strcspn这两个函数功能相似,区别在于前者返回的是一个指针,而后而返回的是一个数组下标值,或者可以前者为绝对值,而后者为偏移量,为一相对值,下面分别举两个简单的例子来显示它们的作用和区别:// strpbrk示例:#include #include int main() { char* str1 = "Hello, world"; cha转载 2011-12-08 15:29:05 · 5130 阅读 · 0 评论 -
sizeof分析(与strlen的区别)
一、首先看看sizeof和strlen在MSDN上的定义:sizeof:sizeof Operatorsizeof expressionThe sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type(including aggregate转载 2011-12-16 14:46:14 · 720 阅读 · 0 评论 -
关于全局变量的简单面试题
局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。如何引用一个已经定义过的全局变量? 答:exte转载 2012-02-02 15:37:03 · 873 阅读 · 0 评论 -
变量定义与声明的区别
我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下: 变量的声明有两种情况: (1) 一种是需要建立存储空间的(定义、声明)。例如:int a在声明的时候就已经建立了存储空间。 (2) 另一种是不需要建立存储空间的(声明)。例如:extern int转载 2011-09-07 18:42:58 · 473 阅读 · 0 评论 -
明确c++变量的一些概念:初始化,赋值
初始化:变量定义,指定了变量的类型和标识符,也可以为对象提供初始值。(也可以不提供初始值)已初始化的:定义时指定了初始值的对象。(未指定初始值的对象,就是没初始化的。变量可以没有初始化)初始化不是赋值初始化:指创建变量并给它赋初始值;{ int a = 0;(复制初始化 *容易导致初始化和赋值的迷惑)原创 2011-09-08 16:09:41 · 1500 阅读 · 0 评论 -
标准模板库(STL)学习指南之List容器
什么是STL呢?STL就是Standard Template Library,标准模板库。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。 STL的目的是标准化组件,这样就不用重新开发,可以使用转载 2011-09-22 10:57:12 · 693 阅读 · 0 评论 -
warning: the `gets' function is dangerous and should not be used.
今天在LINUX下编译C程序时,出现了:warning: the `gets' function is dangerous and should not be used.这个warning。百度之后,得知问题出在程序中使用了 gets ,Linux 下gcc编译器不支持这个函数,解决办法是使用 fgetsfgets()函数的基本用法为:fgets(char *转载 2011-10-10 17:15:42 · 22624 阅读 · 5 评论 -
signal函数说明
c traps and pitfalls 对signal函数解释得非常详细。 中void ( *signal( int sig, void (* handler)( int ))) ( int );int (*p)();这是一个函数指针, p所指向的函数是一个不带任何参数, 并且返回值为int的一个函数.int (*fun())();这个式子与上面式子的区别在于用fun()转载 2011-10-12 15:20:01 · 613 阅读 · 0 评论