推 ledia:strlen 是拿來算以 0 結尾的字串長度 11/23 11:26
→ ledia:剛 new 出來的空間, 內容是什麼不一定, 都是 0 就什麼都不做 11/23 11:26
→ ledia:(因為 strlen 之後會得到 0) 11/23 11:27
→ godman362:那再請教一下,那以動態方式宣告的陣列 11/23 11:29
→ godman362:不就只能給定固定值,而沒辦法用像是sizeof的辦法嗎? 11/23 11:30
推 twotwoone:你太依賴別人了,很多都是直接查書、搜尋就有的。 11/23 11:51
→ james732:動態宣告的長度是你自己指定的 把那個值記錄下來就好 11/23 12:00
→ mysterise:那個strlen目的是在用字串長度 11/23 12:46
→ mysterise:因為strlen會計算不是0的部份來當作回傳個數 11/23 12:51
推 littleshan:你改用 vector<char> 就解決了 11/23 12:52
→ mysterise:你可以試一下char src[70];然後輸入字元在用strlen(src) 11/23 12:52
→ littleshan:不需要自己 new,不需要 memset 11/23 12:53
→ mysterise:他應該會根據你輸入的字元長度來計算個數! 11/23 12:53
→ mysterise:所以BUG就是在這裡!你src沒東西strlen怎麼測出陣列空間 11/23 12:56
→ mysterise:要改的話!~用sizeof()來用!~他用來你設定空間大小來算的 11/23 12:57
推 VictorTom:"因為strlen會計算不是0的部份來當作回傳個數" 這段話有 11/23 13:29
→ VictorTom:相當程度的理解錯誤, 建議直接看221大的連結看strlen到 11/23 13:29
推 jerohands:new 出來的大小請用 #include<malloc.h> _msize() 11/23 13:29
→ VictorTom:底讀入什麼回傳什麼, 才能知道使用上有什麼限制與適合用 11/23 13:30
→ VictorTom:在哪裡; 小弟比較常查看cplusplus網站的, 附個短網址: 11/23 13:31
→ godman362:謝謝各位指點 11/23 14:03
→ godman362:另外,關於t大的講法,因為在我個人知道的範圍 11/23 14:03
→ godman362:我只知道動態方式目前沒辦法直接用sizeof的方式取大小 11/23 14:04
→ godman362:我並不是說都沒有查過書 11/23 14:04
→ godman362:我是認為版上各位先進或許有辦法,所以才特來請教各位的 11/23 14:04
推 twotwoone:也許吧,不是限於這個問題,看你以前發的文而談 11/23 14:28
→ godman362:既然t大您都這樣說了,那我應該為我的無知向各位道歉 11/23 14:51
→ godman362:但也謝謝各位不厭其煩的給予指導 11/23 14:52