2011-06-09 49 views
5

檢測標籤是否與檢測空間相同?即用於檢測空間,我只是將空格字符與其ASCII碼進行比較。如何檢測文本文件中的選項卡?

對於選項卡,我必須在文件中搜索'\ t'字符還是有其他方法?

+2

呃,標籤也有一個ASCII碼:9 – 2011-06-09 06:17:42

+0

一定要選擇一個答案 - 它使人們更有可能在將來回答你的問題,並獎勵他們的快速和努力。 – Cryo 2011-06-09 06:24:03

+0

@Cryo謝謝,但我不需要這個提示,如果你在下面的評論中看到,它不確定它的ascii值是否應該用於檢查。我會選擇一旦得到確認的答案。 – 2011-06-09 06:25:47

回答

3

假設你正在處理ASCII數據,你可以在文本文件中搜索一個值爲'\ t'(9)的字節。選項卡在文本文件中表示爲單個字節,大多數讀取文件的庫對這些字節不做任何特殊處理。

+0

你們都說過同樣的事情,所以感謝你們所有人:) – 2011-06-09 06:21:56

+1

幸運的是,你有這個「假設」位,還有比ASCII的勢力更煩人:-) – paxdiablo 2011-06-09 06:36:44

+0

@paxdiablo:請你詳細說明一下嗎? – Nick 2011-06-09 06:38:34

1

一個標籤只是另一個字符,所以你可以檢查ASCII值,如果你想。

1

儘管選項卡在編輯器中顯示爲4或8個空格,但它實際上在文件內表示爲單個字符('\ t',如您所述)。空格字符和製表符佔用一個字節。所以基本上,你的假設是正確的。

5
if('\t' == myChar) 

這會行得通,而且會比檢查9更好,因爲9可能不是所有體系結構中的保證值。

+0

有趣 - 你有這樣的例子,當'\ t'不是9? – Nick 2011-06-09 06:23:23

+0

此外,你的意思是說,在某些情況下,標準的ascii圖表可以有所不同嗎?如果是,那麼你能指出哪些是哪些? – 2011-06-09 06:23:55

+1

我不知道任何實際的例子,這就是爲什麼我說'不可以',但是在任何情況下,使用'\ t'會將它留給編譯器來替換正確的值(9或其他)。 – 2011-06-09 06:30:20

相關問題