我遇到了一些麻煩,將回車值傳遞給std :: string函數。如何比較字符串與回車0x0D?
std::string parsedWord;
size_t found = str.find_first_not_of(' ');
if (found == std::string::npos) std::cout << "No non-whitespace characters found\n";
else
{
while (str.compare(found, 1, " ") || str.compare(found, 1, 0x0D)
// The last argument should be a const char*.
{
parsedWord += str[found]; found++;
}
}
我特別要比較的值0X0D,因爲在Windows系統上新的生產線是CR LF和其他系統使用不同的類型,我只是想覈對0X0D
如何將它解析爲字符,比如'char(0x0D)'? – Sma
你有'\ r'和'\ n'字符用於結束行回車字符......但爲什麼不簡單地使用處理所有空格的isspace函數 –
你有什麼循環的目的?刪除空格?然後我建議你檢查'compare'函數[*返回*](http://en.cppreference.com/w/cpp/string/basic_string/compare#Return_value)。 –