主題: C++ 請教
查看單個文章
  #3  
舊 2015-08-28, 12:10 PM
哈啦 的頭像
哈啦 哈啦 目前離線
論壇管理員
 
註冊日期: 2002-05-28
文章: 23,011
預設

引用:
作者: a40136 查看文章
用strlen的時候要多一個來記錄\0,因為strlen遇到\0就停止,但實際上要存
字串的時候最後的terminator是要存的 #len=strlen(ptr);
這裡會這樣寫的原因是 sizeof(char) 嚴格定義為1,所以寫成 sizeof(len+1)
喔 ,原來如此。

只是我如果沒有+1似乎執行結果也沒有差別?

而且如果我用p=(char!)malloc(sizeof(ptr))而非sizeof(len)的話,不知道有沒有把最後一個'\0'的空間也包進來?
__________________
咖啡走路
微博


您是網站站長嗎?歡迎到站長俱樂部 一起討論吧。
按我看版規
code.club
回覆時引用此篇文章