专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

如果这里解决不了您遇到的实际问题,请到老妖社区问问老妖们如何解决
c语言的有些库函数会在编译的时候被优化 如gcc中 log2(1)会被优化成常数 但是log2(20)就会在运行时计算值 fabs会被优化成机器(汇编)指令fabs 所以即使你没有包含含有fabs声明的头文件也可以成功编译运行 带有fabs函数的程序 ..................................................................... (int&)a和*((int*)&a)是一样的 把&a这个地址上32位数看作int型 ................................. [阅读全文] [PDF]
使用标准库中的日期和时间处理函数(在头文件中声明),所有这些函数都是Y2K就绪的。C和C++用一个至少32位的符号整型表示时间(64位环境使用64位数据类型),并保持自从“epoch”(新纪元)(1/1/197000:00:00)到现在逝去的秒数。32位的单位能安全表示任何“epoch”和2038年1月18日10:14:08之间的值,整理发布,www.。 依赖标准库函数,代码不存在操作系统的兼容性问题,以及类似Feb29或Y2K的Bugs 如果想要比较两个日期,可使用difftime(): #include<time.h> time_tnow=... [阅读全文] [PDF]
使用C语言的一半价值在于使用其标准库函数。当然,灵活的for循环以及数组和指针之间的相似性也是C语言的重要价值。在解决实际问题时,能方便地操作字符串和文件等对象是最重要的,有些语言能出色地完成其中的一部分工作,另一些语言能出色地完成其中的另一部分工作,然而,没有几种语言能象C语言那样能出色地完成全部工作。 c标准库中还缺少很多函数,例如投有图形函数,甚至没有全屏幕文本操作函数,signal机制也相当弱(见12.10),并且根本没有对多任务或使用常规内存以外的内存提供支持。尽管C标准库存在上述缺陷,但它毕竟为所有的程序都提供了一套基本功能,不管这些程序是运... [阅读全文] [PDF]
12.5 对字符串进行操作的标准库函数有哪些? 简单的回答是:(string.h)中的函数。 C语言没有固有的字符串类型,但c程序可以用以NUL(’\O’)字符结束的字符数组来代替字符串。 C程序(以及c程序员)应该保证数组足够大,以容纳所有将要存入的内容。这一点可以通过以下三种方法来实现: (1)分配大量的空间,并假定它足够大,不考虑它不够大时将产生的问题(这种方法效率高,但在空间不足时会产生严重的问题); (2)总是分配并重新分配所需大小的空间(如果使用realloc()函数,这种方法的效率不会太低;这种方法需要使用大量代码,并且会耗费大量运行时间)... [阅读全文] [PDF]
函数的递归调用    一个函数在它的函数体内调用它自身称为递归调用。 这种函数称为递归函数。c语言允许函数的递归调用。在递归调用中, 主调函数又是被调函数。执行递归函数将反复调用其自身。 每调用一次就进入新的一层。例如有函数f如下: int f (int x) { int y; z=f(y); return z; }    这个函数是一个递归函数。 但是运行该函数将无休止地调用其自身,这当然是不正确的。为了防止递归调用无终止地进行, 必须在函数内有终止递归调用的手段。常用的办法是加条件判断, 满足某种条件后就不再作递归调用,然后逐层返回。 下面举例说明递归... [阅读全文] [PDF]
函数的递归调用    一个函数在它的函数体内调用它自身称为递归调用。 这种函数称为递归函数。c语言允许函数的递归调用。在递归调用中, 主调函数又是被调函数。执行递归函数将反复调用其自身。 每调用一次就进入新的一层。例如有函数f如下: int f (int x) { int y; z=f(y); return z; }    这个函数是一个递归函数。 但是运行该函数将无休止地调用其自身,这当然是不正确的。为了防止递归调用无终止地进行, 必须在函数内有终止递归调用的手段。常用的办法是加条件判断, 满足某种条件后就不再作递归调用,然后逐层返回。 下面举例说明递归... [阅读全文] [PDF]
C语言程序调用C++库函数方法,关键是函数名字解析问题。 其实实现起来不是很难。 使用关键字 extern \"C\" 可以使得C++编译器生成的函数名满足C语言的要求 例子如下: 链接库头文件: //head.h class A { public: A(); virtual ~A(); int gt(); int pt(); private: int s; }; .cpp //... [阅读全文] [PDF]
absread()读磁盘绝对扇区函数原形:int absread(int drive,int num,int sectnum,void *buf)功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。参数:drive=0对应A盘,drive=1对应B盘。返回值:0:成功;-1:失败。头文件:dos.h abswrite()写磁盘绝对扇区函数原形:int abswrite(int drive,int nsects,int lsect,void... [阅读全文] [PDF]
fcloseall()关闭打开的流的函数原形:int fcloseall(void)功能:关闭所有打开的流,由stdin、stdout、stdprn、stderr和stdaux设置的流除外。返回值:关闭流的总数。如果发现错误则返回EOF。头文件:stdio.h feof()检查文件是否结束的函数原形∶int feof(FILE *fp)返回值∶文件结束返回非0值,否则返回0。头文件∶stdio.h fgets()从流中读取一字符串的函数原形:char *fgets(char s[],int n,FILE *stream)使用格式:fgets(字符串指... [阅读全文] [PDF]
getdfree()读取磁盘空闲空间的函数原形:void getdfree(drive,dtable)   unsigned char drive;驱动器号(0-当前;1-A;2-B;...)   struct dfree    {    unsigned df_avail;//可使用的簇数    unsigned df_total;//每个驱动器的簇数    unsigned df_bsec;//每个扇区的字节数    unsigned df_sclus;//每个簇的扇区数(出错时返回0xffff)    }*dtable;功能:把由drive指定的关于... [阅读全文] [PDF]
MK_FP()设置一个远指针的宏原形:void far *MK_FP(unsigned seg,unsigned ofs)功能:通过段值(seg)和偏移量(ofs)建立一个远指针返回值:远指针头文件:dos.h movedata()拷贝数据函数原形:void movedata(unsigned srcseg,unsigned srcoff,unsigned dstseg,unsigned dstoff,size_t n)功能:从原地址(srcseg:srcoff)拷贝n个字节的数据到目标地址(dstseg:dstoff)。头文件:mem.h、string... [阅读全文] [PDF]
rename()文件改名函数原形:int rename(const char *oldname,const char *newname)注意:如果newname中包含了一个驱动器指示符,它必须与oldname中给出的指示符相同。oldname和newname中的目录可以不同,因此rename函数把文件从一个目录移到另一个目录。不允许使用通配符。返回值:0(成功);-1(失败) restorecrtmode()恢复屏幕视频模式为调用initgraph前的设置的函数原形:void far restorecrtmode(void)头文件:graphics.h ... [阅读全文] [PDF]
看下面的代码,通过代码来学习C语言IO库函数 /* #include<stdio.h> intsprintf(char*buffer,constchar*format,...); #include<stdio.h> intprintf(constchar*format,...); 已有介绍 #include<stdio.h> intfprintf(FILE*stream,constchar*format,...); 类似上两函数,只是该函数用于文件操作 #include<stdio.h> intscanf... [阅读全文] [PDF]
/* #include<time.h> time_ttime(time_t*time); 函数time()返回当前时间 若参数time给定,则当前时间存储在time指针中 在VC中,若需要给定time参数,并且返回值和time储存值相同,或是赋予NULL的值 time_t类型即long类型,其值是系统从1970年1月1日00:00:00到现在总共的秒数 #include<time.h> structtm*localtime(consttime_t*time); 函数将time的值转换为当地时间,用结构体tm存储 time的值可有上诉... [阅读全文] [PDF]
关于函数的结构在第1章讲述c程序的结构时已作基本介绍,这里再作进一步探讨。 函数由函数头和函数体两部分组成。 1.函数头 函数头有经典与现代两种形式,现代形式称之为函数原型。 经典形式: 函数属性函数类型函数名(函数参数表)。 参数说明 如:staticfloatf1(a,b,c)/*属性static,类型float,函数名f1,函数参数表\"a,b,c\"*/ floata,b,c;/*参数说明*/ 现代形式: 函数属性函数类型函数名(参数说明) 如:staticdoublef2(floatx,floaty,floatz) 说明: (1)函数的属性或称函... [阅读全文] [PDF]
用户自定义函数一般需在调用前在主调函数中进行说明。 函数说明是一种申明,是告诉主调函数这里调用的是一个什么样的函数。 函数说明的一般形式为: 被调函数类型被调函数名(); 注意,不是函数定义,其后有分号。 例7—10求2~n之间的所有素数。 素数判断函数pf()在此不再重复。 main() {intn inti; intcount=0: intpf();/*函数说明*/ clrscr(); printf(\"请输入n:\"); scanf(\"%d\",&n); printf(“2~n之间的素数如下:\n”); for(i=2;i<=n;i++) i... [阅读全文] [PDF]
通过一个实例来说明一下C语言函数的规范写法,看下面的例子: ANSI: int main(int argc, char *argv[]) { ... } #include <stdio.h> int argc; char *argv[2]; int main(argc,argv) { FILE *fp; int i; fp=fopen(argv[1],"rb"); if(fp==NULL) puts("File open error"); while(!feof(fp)) putchar(fgetc(f... [阅读全文] [PDF]
提取C++库函数的代码,没有仔细测试。大家可以测试一下,修改一下。 packageedu.kevin.regular; importjava.io.*; importjava.util.*; importjava.util.regex.*; publicclassSrcAnalyze...{ privateStringsrcDir; privateHashSetallAPI; privateHashSetinAPI; privatePatternpt; publicSrcAnalyze(Stringdir)...{ srcDir=dir; allAPI=... [阅读全文] [PDF]
这几天正做socke程序,在死循环中接收,可界面不刷新形如死机,苦寻了几天终于见到他 public int ReceiveBuffer() { int newSize; strLastError = "没有错误"; try { while (true) { Application.DoEvents(); if (SocketClient.Poll((int)5, SelectMode.SelectRead) == false) { Thread.Sleep(100); continue; } newSize = SocketClient... [阅读全文] [PDF]
1 共19条 分1页