[問題]複製字串使用strcpy、strcpy_s 搭配上new

看板C_and_CPP作者 (廷廷)時間10年前 (2014/01/03 00:20), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 2013 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 無。 問題(Question): 1.在VC 2010版本,使用strcpy來複製字串,在compiler僅有僅告的提示。 但在VC 2013版本,使用strcpy變成錯誤訊息,硬是要我使用strcpy; 改成strcpy_s使用時發現: void test(char *text) char *str1; str1=new char[strlen(tx)+1]; strcpy(str1,text); 這行出現錯誤。 strcpy_s(str1,text);所以依循更改訊息我更換成此行。 但卻出現以下錯誤訊息: IntelliSense: 多載函式 "strcpy_s" 沒有任何執行個體符合引數清單 引數類型為: (char *, char *) 我試著把new取消就不會有這個錯誤訊息跑出。 想請問,我硬是要用new的話,有甚麼辦法可以解決呢??? 2.想問,不知道還有甚麼指令,或是辦法可以複製字串呢?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.162.184.132

01/03 00:43, , 1F
http://ppt.cc/P4aW strcpy_s(pDst,nBytes,pSrc);
01/03 00:43, 1F

01/03 00:44, , 2F
既然都用vs了 字串就用std::string吧 個人是挺厭煩vs對一些
01/03 00:44, 2F

01/03 00:44, , 3F
考慮 UNICODE 的話用 _tcscpy_s 較佳. M$ 這幾個函式很煩.
01/03 00:44, 3F

01/03 00:45, , 4F
C函式自定些自家函式 未來維護也麻煩
01/03 00:45, 4F

01/03 23:55, , 5F
已解決~~~ 感謝各位大大的解答!!
01/03 23:55, 5F
文章代碼(AID): #1InP6-Tx (C_and_CPP)
文章代碼(AID): #1InP6-Tx (C_and_CPP)