C++:常用数据类型及常见操作
常用數據類型
- sprintf_s
- memset()函數及其作用
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);
總結
以上是生活随笔為你收集整理的C++:常用数据类型及常见操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Deep-Learning-YOLOV4
- 下一篇: c++ :MFC opencv使用na