GAMP笔记

1.feof():
    .在stdio.h中的宏定义
    #define  _IOEOF  0x0010
    #define  feof(_stream)  ((_stream)->_flag & _IOEOF)
    .feof的使用:
    feof用检测流上的文件结束符,其返回值有两种情况:如果遇到文件结束,函数值为非零值,否则函数值为0。
2.clock():
    是一个计时器函数,简单而言,就是该程序从启动到函数调用占用CPU的时间。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时间的数据类型。
3.fgets():
     原型  char *  fgets(char * s, int n,FILE *stream);
     参数:
         s: 字符型指针,指向存储读入数据的缓冲区的地址。
         n: 从流中读入n-1个字符
         stream : 指向读取的流。
     返回值:
          1. 当n<=0 时返回NULL,即空指针。
          2. 当n=1 时,返回空串"".
          3. 如果读入成功,则返回缓冲区的地址。
          4. 如果读入错误或遇到文件结尾(EOF),则返回NULL.
4.strstr():
    原型:char *strstr(const char *str1, const char *str2);
    #include
    找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。返回该位置的指针,如找不到,返回空指针。
5.strrchr():
    原型:char *strrchr(const char *str, char c);
    #include
    找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回从字符串中的这个位置起,一直到字符串结束的所有字符。如果未能找到指定字符,那么函数将返回NULL。
6.sscanf():
    定义函数 int sscanf (const char *str,const char * format,........);      
    函数说明        
    sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。
    返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中。 返回0表示失败    否则,表示正确格式化数据的个数    例如:sscanf(str,"%d%d%s", &i,&i2, &s);    如果三个变成都读入成功会返回3。    如果只读入了第一个整数到i则会返回1。证明无法从str读入第二个整数。
7.strncmp(char *s1, char * s2, int maxlen):
     strncmp函数是指定比较size个字符。也就是说,如果字符串s1与s2的前size个字符相同,函数返回值为0。此函数功能即比较字符串str1和str2的前maxlen个字符。如果前maxlen字节完全相等,返回值就=0;在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则依次比较str1和str2的前n位,设i(i< n)为两字符串首次的不同位,则返回(str1[i]-str2[i])
8.strcmp():
    C/C++函数,比较两个字符串 。设这两个字符串为str1,str2,若str1==str2,则返回零; 若str1 > str2,则返回正数; 若str1< str2,则返回负数
9.strcpy(char str1,char str2):
     将str2复制到str1中,并且str1原来的内容被抹去
10.qsort():
qsort是包含在头文件stdlib.h中的一个函数,是用来对数组进行排序的一个快捷函数。
函数原型:void qsort(void * base,size_t nmemb,size_t size ,int(*compar)(const void *,const void *));

参数说明:
    base,要排序的数组首地址
    nmemb,数组中元素的数目
    size,每个数组元素占用的内存空间,可使用sizeof函数获得
    compar,指向函数的指针也即函数指针。这个函数用来比较两个数组元素,第一个参数大于,等于,小于第二个参数时,分别显示正值,零,负值。
int cmp(const void *a, const void *b): 返回正数就是说 cmp 传入参数第一个要放在第二个后面, 负数就是传入参数第一个要放第二个前面, 如果是 0, 那就无所谓谁前谁后
11.realloc():
函数原型: void *realloc(void *ptr, size_t size);
更改已经配置的内存空间,即更改由malloc()函数分配的内存空间的大小。

如果是将分配的内存扩大,则有以下情况:
1)如果当前内存段后面有需要的内存空间,则直接扩展这段内存空间,realloc()将返回原指针。
2)如果当前内存段后面的空闲字节不够,那么就使用堆中的第一个能够满足这一要求的内存块,将目前的数据复制到新的位置,并将原来的数据块释放掉,返回新的内存块位置。
3)如果申请失败,将返回NULL,此时,原来的指针仍然有效。

你可能感兴趣的:(GAMP笔记)