c++接口編程總結,有問題雖然看起來簡單,但是在必須實際操作,並且要多寫,只有你代碼寫多了,一切變得簡單
- 要對有返回值函數的返回值進行判斷;
- 把輸入參數用一個結構體或者指針數組來定義起來,然後用一下for循環來引用這裏面成員;
- 這樣減少重複調用同一個接口;
- 也可以減少參數輸入錯誤,並容易查找輸入參數錯誤;
- 讓程序看起來簡潔,易懂;
- 在for調用用結構體時,一定要先計算結構長度,不然會造成溢出,會調到別的結構體裏去了,具體計算方法請關注我另外一篇文章;
- 重複調用語句最好寫在一個函數裏面,然後調用這個函數,比如用文件流對文件進行操作,下面是把輸出信息寫到一個磁盤文件裏面;
STRING filename (_T("D:\\comtest.txt"));
BOOL savemsg(std::ofstream &fin)
{
fin.open(filename.c_str(), std::ios::in|std::ios::app); //打開D盤comtest文件,並在文件尾部追加數據
if(!fin)
{
std::cout<<"open"<<&filename<<"fail !"<<std::endl;
return -1;
}
return TRUE;
}
- 一個函數有一個參數又做輸入,又做輸出時,要注意調用順序,也就是什麼時候作爲輸入,什麼時候作爲輸出,具體函數請關注我另外一篇文章;
- 可以通過strstr()來查找字符
需求:有兩個函數來調用同一個數組不同成員,想實現一個函數調用一部分成員,另一個函數調用另外一部分成員時,例子
定義字符指針數組
char* lsyscomm[] =
{
"SFF",
"SYSN",
"SY?",
"SYST?",
};
調用......
for(int i=0; i<syslen; i++)
{
if(NULL == strstr(lsyscomm[i],"?")) { //判斷是寫命令還是讀命令
p = write(lsyscomm[i]);
} else {
p = read(lsyscomm[i],);
}
}