作者: softwind (software everywhere) 看板: C_and_CPP
標題: Re: [閒聊] 字串陣列各元素間少打逗號
時間: Sat May 21 01:55:59 2011
※ 引述《Arton0306 (Ar藤)》之銘言:
: 事情是這樣的
: 我原本有個char二維陣列 如下
: const char cmdName[][30] = {"Conn", "Send", "A15E", "Enter", "Ex",
: "r slp", "rwake", "printRx" , "a song", "All",
: };
: 後來要改裡面的字 如下
: const char cmdName[][30] = {"Conn", "Send", "A15E", "Enter", "Send2"
: "r slp", "rwake", "printRx" , "a song", "All",
: };
: 結果compile 沒error 也沒warning
: 就讓我過了
: 因為以為是別的地方造成錯誤
: 於是花了我將近2個小時在debug...
這個在 Expert C Programming 裡面有講到 我忘了細項
事情是這樣的 在很久很久以前 string literal 是不能直接串接的
so 那個時候 你要表達一段 大篇幅的文字要這樣寫
char *pStr = "1234567890\
0987654321\
abcdefghijk\
lmnopqrst";
但是... 要表達串接, \後面 不能有任何空格 or 符號
不然compiler會誤認 \(space) 其實是要 (space)的意思
然後就錯了~
到了ANSI C的時候 把string literal 串接 納入標準
so 上面的string可以寫成
char *pStr = "1234567890" // "之後 想空 想Tab 隨你...
"0987654321"
"abcdefghijk"
"lmnopqrst";
.. 然後 我就忘記了
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.26.182.77
推 littleshan:也只有C這種沒有字串運算的語言才需要出此下策了... 05/21 03:23
沒有留言:
張貼留言
您好.本資料庫並非第一手資料.如果你有對文章作者的詢問,意見與需求,請自行找尋文章作者並提供意見,謝謝.