2011-09-28 235 views
0

我有一個類型爲const char* FunctionName的指針,我怎樣才能把它寫入​​類型char payload[100]沒有任何警告或錯誤?也payload[0]填充字符值了,所以該空間從payload[1]開始c中的字符數組處理(複製指向字符數組的指針)

更新:

我試圖這樣`的strcpy((&有效載荷[1]),FunctionName);現在正在工作。

但是我還有一個問題,如何將指針(FunctionName)納入payload[1]而不是複製整個字符串?通過任何轉讓聲明?

/R

+0

到目前爲止你有什麼? –

回答

3
strncpy(&payload[1], FunctionName, 98); 
payload[99] = '\0'; 

應該位於FunctionName具有NULL結束之前超過98個字符的情況下是安全的。

+0

如果FunctionName少於98個字符,會發生什麼情況?我的意思是說哪裏應該放置NULL終止符? –

+0

如果FunctionName比這個短,那麼'strncpy'將填充緩衝區的NULL最多爲98,所以你不需要做任何不同的事情。 – Vicky

+0

太好了。它的工作..你不覺得,如果填充是自動完成的,那麼'有效載荷[99] ='\ 0';'聲明不是必需的? –