我正在製作戰列艦遊戲,所以當我將諸如「A10」之類的東西傳遞給座標功能時,需要將列轉換爲字母和數字。將char轉換爲int?
Coordinate(std::string coord = "A10")
{
char c = coord[0];
col = c - 16;
int r = atoi((coord.substr(1,2)).c_str());
row = r-1;
};
因此,在這個例子中,通過A10應使COL = 0(A = 0,B = 1,C = 2)和行= 9
行等於9似乎工作但山口同樣0不。
A的Ascii值是65 – AurA 2012-04-09 09:49:49
您可以使用自定義文字擴展您的類。即:'A10_C'。你甚至應該檢查傳入的字符串格式是否正確,否則會拋出異常。 – Paranaix 2012-04-09 10:00:02