如何将int 0-7转换为char'a' - 'h'?

时间:2018-04-15 22:37:31

标签: c++

我正在尝试将数字0-7转换为字母'a' - 'h',以便为盲人玩家提供基于文本的国际象棋游戏。我正在努力的是不行。为什么是这样? 注意:下面显示的代码来自多个类。创建数组时使用索引。

public function myFunction(Request $request){

   $validator = \Validator::make($request::all(), [
      'myField'  => 'Required',
   ]);

}

}

3 个答案:

答案 0 :(得分:3)

  

import pandas def PossDist(Iterations, AssumptionFolder, ResultFolder, SampledResult): SampledLoss = pandas.read_csv(SampledResult) d= pandas.pivot_table(...) The compile finished successfully without error. 不起作用

这是因为char colLeter = col + 49不是字母49的代码,而是数字a的代码。

不要对字符代码使用数值。请改用char文字。字符文字是用单引号括起来的字符,例如1'a''b'

由于'0'常量实际上是数字,因此您可以向其添加char

int

答案 1 :(得分:1)

int col = ...; // 0-7

char colLetter = 'a' + col;

我认为标准保证a - z具有连续的代码点。无论如何,即使它们不是标准的,它们也是ASCII格式。

因此,如果您0a1b,依此类推,您只需将col添加到{{} 1}}。

另请注意,类型很重要。 a必须为colLetter

答案 2 :(得分:1)

int pos = 2; // 0->7
const char* column = "abcdefgh";

char colLetter = column[pos];

我发现这种方式比在int和chars之间提议的类型转换要好得多。显然记得在实施时进行边界检查。