我正在制作战列舰游戏,所以当我将诸如“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