2013-04-08 72 views
0

控制檯寬度;假設默認或成爲...?

if(std::cin){ 
    decision = std::cin.get(); 

    if(std::cin.eof()) 
     throw CustomException("Error occurred while reading input\n"); 
}else{ 
    throw CustomException("Error occurred while reading input\n"); 
} 

清洗殘留輸入流上的

std::cin.ignore(COL_WIDTH, '\n'); // skip bad input 

COL_WIDTH讀取從控制檯輸入是80作爲通過Why is the default terminal width 80 characters?確定。我應該假設一個80個字符的控制檯寬度,或者是一個更適合於cin.ignore的更大數字?

回答

2

您可以輸入超過一行字符,即使它是80.
改爲使用std::numeric_limits<std::streamsize>::max()