我試圖跳過BOM以UTF-8編碼的文件,但我在IFS測試失敗:C/C++ - 符號字符比較
int i = 0;
if(str[i] == '\0xef') {
++i;
}
if(str[1] == '\0xbb') {
++i;
}
if(str[2] == '\0xbf') {
++i;
}
我不知道爲什麼他們不這樣做工作。在簽名和未簽名之間必須存在某種隱式轉換,並且Visual Studio在調試時顯示帶有2個字節的字符代碼,即使我使用1個字節的字符。
發生了什麼事?謝謝:)
''\ 0xbf''是多字節字符常量 –
如何定義str?它是帶符號還是無符號字符數組? – Marian
這是一個const char *。我也試過0xbf而不是'\ 0xbf',但結果是一樣的。 – Virus721