[問題] 判斷字串是否全是空格

看板C_and_CPP作者 (why so serious)時間14年前 (2011/10/27 19:56), 編輯推噓3(3011)
留言14則, 9人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) vs2008 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) no 問題(Question): 一個字串是否全是空格組成(空格有什麼名詞嗎?) 餵入的資料(Input): char *abc=" "; 補充說明(Supplement): 簡單來說也可以用for去看這個字串的每個自原是不是都是" " 可是想知道有沒有什麼更好的方法。 是想用在字串搜尋的時候若是輸入不定長度的空格 就直接跳過不搜尋 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.250.121.117

10/27 20:14, , 1F
怎樣也要O(n)吧@@
10/27 20:14, 1F

10/27 20:19, , 2F
即使調用strtok、memcmp,也是 k*O(n), 只是k值不同..
10/27 20:19, 2F

10/27 22:00, , 3F
可以考慮用多執行緒來加速,但字串不夠長應該會不划算 XD
10/27 22:00, 3F

10/27 22:20, , 4F
有些時候執行緒是硬體處理就會划算摟xdd
10/27 22:20, 4F

10/27 22:40, , 5F
沒方法吧,就算是compiler的scanner也沒特殊技巧
10/27 22:40, 5F

10/27 22:41, , 6F
可以加速跳過whitespace
10/27 22:41, 6F

10/28 02:18, , 7F
反向思考吧,找到第一個不是空格的就為false,效能好些
10/28 02:18, 7F

10/28 09:08, , 8F
在按下鍵時就來個過濾?
10/28 09:08, 8F

10/28 09:29, , 9F
本來就是找到第一個非空格就跳出啊...
10/28 09:29, 9F

10/28 09:33, , 10F
可是如果只是字串搜尋的input,應該沒什麼好optimize的吧?
10/28 09:33, 10F

10/28 09:33, , 11F
就算輸入80個空格當keyword也是一瞬間就判斷完了
10/28 09:33, 11F

10/28 09:34, , 12F
我猜原po要做的其實是一般所謂的trim?
10/28 09:34, 12F

10/28 12:53, , 13F
memcmp
10/28 12:53, 13F

10/28 20:07, , 14F
strspn+strlen就好了呀...
10/28 20:07, 14F
文章代碼(AID): #1EgKRuCn (C_and_CPP)