常用数据类型
sprintf_s
函数功能:将数据格式化输出到字符串
函数原型:
int sprintf_s(
char *buffer,
size_t sizeOfBuffer,
const char *format [,
argument] …
);
需要包含的头文件:stdio.h
注意:
sprintf_s()是sprintf()的安全版本,通过指定缓冲区长度来避免sprintf()存在的溢出风险
程序示例:
char filename[1024];//需要预先分配缓冲区
char path1[128] = “D:\Program\Tesseract-OCR\tesseract.exe”;
char path2[128] = “D:\Program\Tesseract-OCR\”;
char path3[128] = “D:\Program\Tesseract-OCR\txt”;
char path4[128] = “-l chi_sim”;
sprintf_s(filename, sizeof( filename ), “%s %s %s %s”, path1,filepath,path3,path4);
system(filename);
相关函数:
snprintf()
memset()函数及其作用
memset()函数原型是extern void *memset(void *buffer, int c, int count)
buffer:为指针或是数组,
c:是赋给buffer的值,
count:是buffer的长度.
这个函数在socket中多用于清空数组.如:原型是memset(buffer, 0, sizeof(buffer))
Memset 用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’或‘/0’;
例:char a[100];memset(a, ‘/0’, sizeof(a));
memset可以方便的清空一个结构类型的变量或数组。
如:
struct sample_struct
{
char csName[16];
int iSeq;
int iType;
};
对于变量:
struct sample_strcut stTest;
一般情况下,清空stTest的方法:
stTest.csName[0]=’/0’;
stTest.iSeq=0;
stTest.iType=0;
用memset就非常方便:
memset(&stTest,0,sizeof(struct sample_struct));
如果是数组:
struct sample_struct TEST[10];
则
memset(TEST,0,sizeof(struct sample_struct)*10);