- 博客(35)
- 收藏
- 关注
原创 PL/SQL 中如何正确选择游标类型
PL/SQL 中如何正确选择游标类型PL/SQL里的游标可以分为显式和隐式两种,而隐式有分为select into隐式游标和for .. in 隐式游标两种。所以,我们可以认为,有3种游标用法: !E3o.Sc1`3_7du}5|z ]P?CnS+edA. 显式游标 GgHJFM@Cw~N S bB. select into隐式游标 2
2008-07-22 15:30:00 967
转载 [转]巧用空数组建立动态缓冲区
关于在结构体末尾定义空数组的用法,以前看到过,一直没搞懂,在无意中瞄到了答案,实在是三生有幸,阿弥陀佛啊,所以就贴出来大家一起分享: struct ast_exten { char *exten; char stuff[0]; }; 又如: struct ast_include { char *name; char *rname; char stuff[0]; }; st
2008-04-12 17:26:00 1663 1
原创 关于struct dirent 中d_name成员在某些系统中为1的问题。
此为伸缩型结构成员的问题,详见c primer plus中相关章节1楼 发表于 2007-9-19 23:19 我在书中看到有以下结构描述.struct dirent{..............char a[1];}其中a[1]是文件名地址.也有的书用a[255]描述.我对此非常不解,a[1]怎么能放文件指针呢,作为字符数组,也只能够放/0.请各位释疑,万分感谢. =====
2008-01-25 14:23:00 4767 3
转载 张孝祥的C语言测试题及讲解分析
另外,在实际的VC++教学中,发现很少有真正精通了C语言编程的学员,一般都有或多 或少概念不是完全清楚的问题,特别是一些需要丰富的实战经验才能体会和明白的问题,如字符串,指针,类型转换,定义指向函数的指针类型,这也是导致学习 VC++困难的一个原因。下面有几个简单测试将能发现你对C语言的掌握情况。int x=35;char str[10];//问:strlen(str)和size
2007-12-31 11:32:00 1300
转载 关于终端和控制台的概念
今天看到有人问终端和控制台的区别,而且这个问题比较有普遍性,因此想抽出一点时间来解释一下这两个术语的区别。 终端,英文叫做terminal ,通常简称为term ,比如我们在X下的xterm. 控制台,英文叫做console。 要明白这两者的关系,还得从以前的多人使用的计算机开始。 大家都知道,最初的计算机由于价格昂贵,因此,一台计算机一般是由多个人同时使用的。在这种情况下一
2007-12-08 20:15:00 3073 8
原创 size_t类型
size_t一般用来表示一种计数,比如有多少东西被拷贝等,sizeof操作符的结果类型是size_t,它在头文件中typedef为 unsigned int类型,即typedef unsigned int size_t ,该类型保证能容纳实现所建立的最大对象的字节大小。strncat,strncmp,strncpy等都用到了它。size_t 是为了方便系统之间的移植而定义的,在32位低成?定义为u
2007-11-16 19:03:00 2462 1
原创 还是关于c字符串
字符串常量("abcde")代表的是在内存常量区中存储的字符串的首地址。系统自动在字符串常量后加/0给字符串赋值时候,数组空间要比要存储的字符数多1,如:char a[4] = "abc";通过char a[]方式定义的字符串,a代表指针常量,不能被赋给任何值,注意,是任何!。例如下面的代码错误 char *a="adadf"; char b[1
2007-10-25 21:53:00 686
转载 同步、异步、阻塞和非阻塞的概念
在进行网络编程时,我们常常见到同步、异步、阻塞和非阻塞四种调用方式。这些方式彼此概念并不好理解。下面是我对这些术语的理解。 同步 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是
2007-10-23 20:51:00 824
原创 第五章 连接控制 学习stty
<!-- @page { size: 21cm 29.7cm; margin: 2cm } TD P { margin-bottom: 0cm } P { margin-bottom: 0.21cm } --> 第五章 连接控制:学习stty 设备文件是链接,而不是容器
2007-10-23 16:54:00 1049
转载 linux ln 命令的使用
ln 这是linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件。当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空
2007-10-16 14:56:00 3258
原创 Linux文件系统结构
言归正传,我们接着说文件系统组织结构。/ Linux文件系统的入口,也是处于最高一级的目录; /bin 基础系统所需要的那些命令位于此目录,也是最小系统所需要的命令;比如 ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用的命令。做为基础系统所需要的最基础的命令就是放在这里。 /boot Linux的内核及引导系统程序所需要的文件,比如 vm
2007-09-20 14:12:00 1219
原创 一个多月没有写了
上月底回家,休息半个月。很happy的半个月。。。返校後发现自己差不多不会编程了,键盘用起来都有些生疏。无意中接触了ACM,现在正在尝试着做一些题目,尽管解题的速度非常慢,但看着那为数不多的几个accept心里还是充满了信心。经过这头几道题,相信我的逻辑思考能力有了相当大水平的提高,毕竟解这些题要有非常理性的思维和足够的耐心。今天的收获是:尽量减少除法运算与模运算,这两种运算开销非常大,今
2007-05-19 20:23:00 795
原创 关于while(cin>>str)无法结束的问题.
输入缓冲是行缓冲。当从键盘上输入一串字符并按回车后,这些字符会首先被送到输入缓冲区中存储。每当按下回车键后,cin.get() 就会检测输入缓冲区中是否有了可读的数据。cin.get() 还会对键盘上是否有作为流结束标志的 Ctrl+Z 或者 Ctrl+D 键按下作出检查,其检查的方式有两种:阻塞式以及非阻塞式。阻塞式检查方式指的是只有在回车键按下之后才对此前是否有 Ctrl+Z 组合键按下进
2007-04-13 22:11:00 1381 1
转载 关于EOF(文件结束符)问题的体会
最近写了些代码,在对文件的操作中发现了很经典的EOF问题,呵呵。EOF,即end of file,文件结尾,作为文件结束的标志,在程序中常作为判断的一个标志。但在我们平常的程序中却常发生意想不到的结果。下面这段程序,猜猜它输出的是什么?char c;ifstream fin("d://dat");//设d:/dat文件已存在,内容为ab。while(!fin.eof()){ fin >> c
2007-04-12 20:48:00 14484
原创 string中的find(),find_first_of(),find_first_not_of()之间区别
find() 可以在指定字符串中查找完全匹配子串的位置 find_first_of() 在指定字符串中查找第一个任意匹配子串中字符的位置find_first_not_of() 在指定字符串中查找第一个不任意匹配子串中字符的位置
2007-04-10 19:53:00 11354 2
原创 关于find_if函数
find_if函数包含三个函数,前两个指出查找范围,第三个参数是一个函数指针或者函数对象find_if的作用是:在容器范围内,返回一个使第三个参数所指函数为真的元素的迭代器例如:#include #include #include using namespace std;bool IsOdd (int i) { return ((i%2)==1);}int main () {
2007-04-09 15:12:00 2828
原创 我在程序中这么做f1==f2,可是明明相等但是程序中却按不相等的去做了。难道浮点数比较还有什么需要注意的问题吗?
if( fabs(f1-f2) {...}
2007-04-07 20:25:00 1211
原创 strlen和sizeof的区别
strlen 返回的是实际串长sizeof 如果*str是指针则返回 char *的大小 如果是用数组声明 返回的是空间的大小char *sz = "abcde";char sz1[20] = "abcde";coutcoutcoutcout输出:45205-----------------------------------------------------
2007-04-07 19:13:00 833
原创 字符数组与字符指针的区别。
char* s1 = "hello"; char s2[] = "world";相同点:都是表示一个字符串。不同点:操作系统对它们在内存中的存储方式作了不同的处理。下面是测试代码。#include int main(){ char *S1 = "Hello"; char S2[] = "World";// *(S1+2) = x; // 执行时出错。
2007-04-07 19:08:00 823
原创 知识点
coutx;请问这个表达式为什么是先把整个语句执行完后,pt才后移,而不是先把括号中的执行完,即pt后移后才输出x ?? 说了pt++只取一次表达式的值,那就是在++之前只有在下一次需要读取pt的值得时候你才能发现他自加了转不过弯来吗
2007-04-06 20:48:00 664
转载 C/C++ 编码规范
今天人们越来越明白软件设计更多地是一种工程,而不是一种个人艺术。由于大型产品的开发通常由很多的人协同作战,如果不统一编程规范,最终合到一起的程序,其可读性将较差,这不仅给代码的理解带来障碍,增加维护阶段的工作量,同时不规范的代码隐含错误的可能性也比较大。BELL实验室的研究资料表明,软件错误中18%左右产生于概要设计阶段,15%左右产生于详细设计阶段,而编码阶段产生的错误占的比例则接近50
2007-04-02 12:44:00 947
原创 图书管理系统读写功能实现
这个问题终于解决了。。。。。。让我挠头了一个周末。。。。。。。。。。由于写代码之前没有规划好,甚至后台用哪种存储策略来保存图书数据都没有好好思考,当意识到这个问题的时候已经晚了。原本想用Sql server来做后台数据库,可是什么ADO、ODBC什么的确实不太懂,要改的地方太多,仅有的一些例子还是mfc的,权衡一下后还是算了吧。。现在是用vector存储图书的内容,然后把这个
2007-03-25 21:21:00 1772
转载 C++/C编程质量试题
C++/C试题 本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。 笔试时间90分钟。请考生认真答题,切勿轻视。一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(
2007-03-22 19:01:00 998
原创 今天收获的知识。。。。。。
1。在dos窗口中显星号#include "stdio.h" int main(int argc, char* argv[]) { char password[20],c; int i = 0; while(1) { c = getch(); if(c == 13)
2007-03-20 13:02:00 617
原创 今天碰到的一个问题,关于通过基类对象的引用给子类赋值
以下是在论坛上提出的问题:关于通过基类对象的引用给子类赋值的问题:比如说:class A{ public: A(int num):m_num(num){} protected: int m_num;};///////////////////////////////////////////A zhy(123);class B:p
2007-03-17 20:48:00 2560
原创 yellow歌词
yellow coldplay Look at the stars; look how they shine for you And everything you do Yeah, they were all yellow I came along; I wrote a song for you And all the things you do And it was called yellow
2007-03-17 19:59:00 2514
转载 关于初始化列表
在前面的例程中,我们对成员数据的初始化,都是在函数体中进行的,但有些情况下这种初始化的方法是行不通的,例如:#include using namespace std;class Date{ int da, mo; const int yr;//const常量public: Date(int d, int m, int y) //有参数的构造函数 { cout da = d
2007-03-15 17:35:00 809
原创 关于枚举类型
枚举算法 在实际问题中, 有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月, 一个班每周有六门课程等等。如果把这些量说明为整型, 字符型或其它类型显然是不妥当的。 为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值, 被说明为该“枚举”类型的
2007-03-15 15:49:00 1080
原创 马经过了
马经顺利通过,这学期的压力也减轻了一些,另外对于c++的学习感觉光靠看书实在是掌握不了太多的东西,所以最近要多写点程序。在网上找了一个五子棋的题目,想最终实现网络对弈,昨晚写了一点,基本上实现了走棋和判别胜负的功能,但是对于在dos下面如何画棋盘却不太了解.上网搜索了一下,只能通过c语言的graphics.h来画直线,可是c++里面又没有这个头文件。。。头疼ing....另外对于字符数组方面的知
2007-03-15 14:13:00 820
原创 C++中的引用
【导读】介绍C++引用的基本概念,通过详细的应用分析与说明,对引用进行全面、透彻地阐述引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。引用简介引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名;【例1】:int a; int &ra=a; //定义引
2007-03-06 21:57:00 669
原创 c++中const用法
const是用于保护程序的健壮性,减少程序隐患。const的用法比较复杂,总结起来又分为以下两种:1:在定义变量时使用: a: const int a=100; 最简单的用法,说明变量a是一个常变量; b: int const b=100; 与a功能相同; c: const int *a=&b; 指向常数的指针,即指针本身的值是可以 改变的,但指向的内容是不能改变的
2007-03-06 13:29:00 721
转载 c++中char * 和 char []的区别
char* 和 char[]的区别:主要考虑两点:1 内存分配上的区别, 指针不分配指向数据的空间,数组则分配所有元素的内存空间;2 数组名可以认为是一种带有 const 属性的指针(就是不能修改的指针),比如 char a[6]; strcpy(a, "Hello"); puts(a); putchar(*a); //输出 H ,即 a数组的第一个元素3 意义
2007-03-05 17:09:00 1212
原创 开学九天
2007年3月5日,开学第九天。c++ primer看过一半,初步了解了关于STL中的容器、迭代器以及范型算法。书中的概念比较多,并且鉴于翻译的水平,所以很多知识点看起来有些晦涩难懂, 等到把整本书都看完后应该把重点放在上机练习上,着重掌握标准库中经常使用的算法,并且配合primer的习题解答进行学习。下一步的计划是10天内看完整本书,另外,还有马经补考。
2007-03-05 16:59:00 870
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人