2016-01-20 27 views
-2

參考http://en.cppreference.com/w/cpp/string/byte/strcpystrcpy帶3個參數,參考只顯示2

strcpy有2個參數和我分析的代碼有3個參數。是否有另外一個參考可以說明這段代碼發生了什麼?我假設它設置了可變長度。這是一個構造函數。

HwCounterBase::HwCounterBase(const char* pName) 
{ 
    _enabled = false; 
    _value = 0; 
    if (pName != NULL) 
     STRCPY(_pName, COUNTER_NAME_LENGTH, pName); 
    else 
     _pName[0] = 0; 
    _pLabel[0] = 0; 
} 
+4

'STRCPY'不是'strcpy'。看起來像一個宏。看看你是否能找到它的定義。 –

回答

3

STRCPYstrcpy,如C/C++是大小寫敏感!可能STRCPY是一個預處理宏包裝strncpy

#define STRCPY(dst, size, src) strncpy(dst, src, size) 

你應該問問你的IDE在哪裏定義STRCPY

+3

希望它不包裹函數strncpy –

+0

C/C++不是一種語言。這個問題被標記爲C++,而不是C ..如果你覺得它是相關的,你可以提到C#是區分大小寫的。 – Default

+0

@default C++集成了C具有和OP試圖使用C函數,以便IMO說C/C++是相關的幾乎一切。 – xboi209