作者hsm926 (韓森慢)
看板C_Sharp
標題[問題] 有關C++轉換成C#的char問題
時間Tue Sep 1 18:10:11 2009
假如我要把c++ 下面這段
size = 5;
char prefix[size] = "";
宣告它為長度為5的char空array
使用strlen(prefix) 他的長度會是0
但prefix[1]、prefix[2]…等等是可以填值的
使用c#寫法的話
char[] prefix = new char[5];
prefix.Length 就會等於5
如果我宣告成 char[] prefix = new char[] {};
使它為空array
這時用 prefix.Length 就會等於0 與c++結果相同
但是prefix[1]、prefix[2]…等等 卻無法填值 它會顯示
索引在陣列的界限之外
該怎麼解決這個問題呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.27.189.104
→ james732:呃,你知道strlen算的是什麼嗎?還有這麼做的理由是? 09/01 18:27
→ Cloud:你應該是想要動態產生字串吧...何不用string 09/01 18:32
推 petrushka:你的陣列是空陣列當然無法填值,建議改C#的string用法吧 09/01 19:22