1.fread
size_t fread( void *buffer, size_t size, size_t count, FILE *stream )
buffer 是读取的数据存放的内存的指针(可以是数组,也可以是新开辟的空间,buffer就是一个索引)
size 是每次读取的字节数
count 是读取次数
strean 是要读取的文件的指针
例子:从文件fp里读取100个字节 可用以下语句
FILE* fp = fopen(“date.txt”,“r”);
fread(buffer,100,1,fp)
2.CV_Assert(一般用来查看数据是否为空)
CV_Assert()若括号中的表达式值为false,则返回一个错误信息。
类似c++中的assert函数:assert (int X );如果X值为假(即为 0),那么它先向 stderr 打印一条出错信息,然后通过调用 abort 来终止程序运行。(#include <assert.h>)
举例:查看文件是否为空
FILE* fp = fopen(“date.txt”,“r”);
assert( fp!=NULL);
3.strncmp 比较字符串 返回不同字符的个数n表示可以选择比较长度
int strncmp(const char *string1, const char *string2, size_t count);
string1 给定的字符串
string2 给定的字符串
count 要进行比较的长度
返回值:当string1大于string2时,返回1;等于时,返回0;小于时,返回-1。
举例:char str1[]=“Hello”,str2[]=“Help”;
int a,b,c;
a = strncmp(str1,str2,3); //比较字符串str1,str2前3个字符 返回0
b = strncmp(str1,str2,4); //比较字符串str1,str2前4个字符 返回-1
4.strcmp 比较字符串 同点3
int strcmp(const char *string1, const char *string2);
5.Clamp函数可以将随机变化的数值限制在一个给定的区间[min, max]内:
Clamp(T x, T min, T max)
{
if (x > max)
return max;
if (x < min)
return min;
return x;
}
6.enum枚举 基本形式:enum enumType {Monday, Tuesday, Wednesday, Thursday, Friday,
Saturday, Sunday};enumType 标志符,也可以省略。enum默认为int类型;
未初始化的枚举值默认比前一个的枚举值大1.其最小值为0;
enum { one ,two ,three};one =0;two=1;three=3
enum enumType {Monday=1, Tuesday=2, Wednesday=3, Thursday=4, Friday=5, Saturday=6, Sunday=7};
7.memset函数memset可以说是初始化内存的“万能函数”
char str[10];
char *p = str;
memset(p, 0, sizeof( p)); //地址的大小都是4字节
0 0 0 0 -52 -52 -52 -52 -52 -52
memset(p, 0, sizeof(*p)); //*p表示的是一个字符变量, 只有一字节
0 -52 -52 -52 -52 -52 -52 -52 -52 -52
memset(p, 0, sizeof(str));
0 0 0 0 0 0 0 0 0 0
memset(str, 0, sizeof(str));
0 0 0 0 0 0 0 0 0 0
memset(p, 0, 10); //直接写10也行, 但不专业
0 0 0 0 0 0 0 0 0 0
8.memcpy函数
void *memcpy(void *dest, const void *src, size_t n);
void* 是要返回一个指针 与void 不同
它的功能是从src的开始位置拷贝n个字节的数据到dest。如果dest存在数据,将会被覆盖。