-3
我正在處理CS50問題集。在此函數中,我遍歷一行以確保它符合某些規則:「方法SP請求 - 目標SP HTTP版本CRLF」,其中SP是空格,CRLF是回車/新行。strchr中的多字符字符常量錯誤()
我經過串的最後部分找到CRLF以確認它的存在以下列方式:
//needle2 is a subset of the line, here it's the last bit: "HTTP-version CRLF"
const char* needle3 = strchr(needle2, '\r\n');
if (needle3 == NULL)
{
error(400);
return false;
}
我得到編譯此代碼時的錯誤消息:錯誤:
error: multi-character character constant [-Werror,-Wmultichar]
const char* needle3 = strchr(needle2, '\r\n');
據我所知,我正在尋找一個功能中的多個字符,每次只能輸入一個字符。 但是我如何查找CRLF以確保它沒有多字符錯誤?
我嘗試使用strstr()函數與發佈代碼使用它的方式完全相同,並且出現一個錯誤,這更加令人困惑,因爲我使用的是在同一程序中工作的代碼。
使用'strstr'爲 「\ r \ n」'沒有多字符常量;這就是所謂的字符串。 –
kooky的方法使用_「多字符常量」_而不是_「字符串常量」_ – snr
@PaulOgilvie,我試着用strstr()和我得到一個錯誤'不兼容指針整數比較'。 編輯:現在我想起來了,我可能弄亂了語法...我會重新檢查! –