2014-02-13 65 views
0

這是我的前一個問題的延續, In C++, how to read the contents of a text file, and put it in another text file?C++,指向整數比較錯誤

讀取文件的內容,並將其存儲在一個向量後,我想將文件的內容與比較如0一些整數,

假設我input.txt的文件的內容是0100 .. 因此,打開第二個文件後,這是我給什麼,

string a = inputLines[0] ; 
    cout << a[0] << '\n'; 
    if (a[0] == "0") 
{ 
    cout << "Match" << '\n'; 
} 

但是,我是通用電器將錯誤指向整數比較的指針,如何避免這個錯誤?

回答

4

a[0]char,但是"0"const char[2]。你想使用字符文字'0'來代替(不同的引號)。

if (a[0] == '0') 
0

一個[0]已鍵入char而「0」是一個字符串文字即,其在存儲器中表示爲兩個字符

['0']['\0'] 

的陣列,並且被轉換爲指針到它的第一表達式中的元素

a[0] == "0" 

所以編譯器會發出錯誤,因爲操作數的類型不是硬幣邊。 您需要使用字符文字是比較字符是

如果(A [0] == '0')

雖然你甚至可以編寫:)作爲

如果(A [0] = =「0」[0])

因爲"0"[0]是一個字符。甚至以下方式

如果(A [0] == * 「0」)

但是,當然,這是更好的使用簡單的字符文字 '0'。