2010-07-21 58 views
13

我正在編寫一個程序來計算空白,製表符和換行符。我記得標籤和換行符的轉義序列是什麼,但空白怎麼樣? \ B'還是那個退格?什麼是C空格轉義序列?

+0

http://www.asciitable.com/ – sipwiz 2010-07-21 23:38:27

+1

@sipwiz - 雖然\ 0x20通常可用於空格,但有不同的字符編碼問題需要擔心。並非所有的8位編碼都是基於ASCII的,現在的字節流可能是編碼的Unicode字符串。 \ 0x20對於UTF-8當然是正確的,但對於其他編碼不適用。這些*可以使用除char數組以外的其他類型表示,但不一定是這樣 - 字符流作爲字節流的char數組是無論字節代表什麼字節都是如此常見的I/O處理模式。 – Steve314 2010-07-21 23:48:32

+0

@ Steve314如果OP使用的是非ASCII或非UTF8編碼,那麼一個好的選擇是他已經知道了他的問題的答案,因爲他已經有幾個箍環跳過了:)。 – sipwiz 2010-07-22 00:06:09

回答

2

\b是退格(ASCII 0x8)。您不需要爲常規空間(ASCII 0x20)轉義。您只能使用' '

+0

實際上,它可能適用於空白被「標準化」的情況,比如在XML字段 – glopes 2018-02-22 10:15:39

1

'\ b'是backspace,並且您確實不需要空白轉義序列,因爲''將會很好。

6

如果你想檢查一個字符是否是空格,你可以使用<ctype.h>isspace()函數。在默認的C語言環境中,它會檢查空格,製表符,換頁符,換行符,回車符和垂直製表符。