您的位置:首页 > 编程语言 > C语言/C++

EPANET源码中用到的几个简单C语言函数介绍二

2012-12-10 17:29 218 查看
1.malloc

原型:extern void *malloc(unsigned int num_bytes);

头文件:在TC2.0中可以用malloc.h或 alloc.h (注意:alloc.h 与 malloc.h 的内容是完全一致的),而在Visual C++6.0中可以用malloc.h或者stdlib.h

功能:分配长度为num_bytes字节的内存块。

返回值:返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。

说明:关于该函数的原型,在旧的版本中malloc返回的是char型指针,新的ANSIC标准规定,该函数返回为void型指针,因此必要时要进行类型转换。

名称解释:malloc的全称是memory allocation,中文叫动态内存分配,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存。

2.calloc

原型: void *calloc(unsigned n,unsigned size)

头文件:stdlib.h或malloc.h

功 能: 在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针;如果分配不成功,返回NULL。

跟malloc的区别:

  calloc在动态分配完内存后,自动初始化该内存空间为零,而malloc不初始化,里边数据是随机的垃圾数据。

3.rewind

用 法: void rewind(FILE *stream);

头文件: stdio.h

返回值:

功 能: 将文件内部的位置指针重新指向一个流(数据流/文件)的开头

注意:不是文件指针而是文件内部的位置指针,随着对文件的读写文件的位置指针(指向当前读写字节)向后移动。而文件指针是指向整个文件,如果不重新赋值文件指针不会改变。

英文释义:[b][ri:ˈwaɪnd] [/b]v.倒回(影片、录音带等);重绕 n.重绕;倒带器

4.strchr

原型:extern char *strchr(const char *s,char c);

头文件:#include <string.h>

功能:查找字符串s中首次出现字符c的位置

说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。

返回值:Returns the address of the first occurrence of the character in the string if successful, or NULL otherwise

5.strcspn

原型:size_t strcspn(const char *s1,const char *s2);

相关头文件:#include <string.h>

功能:找到s1与s2中第一个相同的字符,返回这个字符在S1中第一次出现的位置。

说明:返回第一个出现的字符在s1中的下标值,亦即在s1中出现而s2中没有出现的子串的长度。简单地说,若strcspn()返回的数值为n,则代表字符串s1开头连续有n个字符都不含字符串s2内的字符。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: