C/c++程序編寫心得

c++接口編程總結,有問題雖然看起來簡單,但是在必須實際操作,並且要多寫,只有你代碼寫多了,一切變得簡單

  • 要對有返回值函數的返回值進行判斷;
  • 把輸入參數用一個結構體或者指針數組來定義起來,然後用一下for循環來引用這裏面成員;

    1. 這樣減少重複調用同一個接口;
    2. 也可以減少參數輸入錯誤,並容易查找輸入參數錯誤;
    3. 讓程序看起來簡潔,易懂;
  • 在for調用用結構體時,一定要先計算結構長度,不然會造成溢出,會調到別的結構體裏去了,具體計算方法請關注我另外一篇文章;

http://blog.csdn.net/jon_wang11/article/details/8849627

  • 重複調用語句最好寫在一個函數裏面,然後調用這個函數,比如用文件流對文件進行操作,下面是把輸出信息寫到一個磁盤文件裏面;

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;

}

  • 一個函數有一個參數又做輸入,又做輸出時,要注意調用順序,也就是什麼時候作爲輸入,什麼時候作爲輸出,具體函數請關注我另外一篇文章;

http://blog.csdn.net/jon_wang11/article/details/8925589

  • 可以通過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],);

}

}

發佈了27 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章