将int转换为char?
Converting int to char?
ref void init_board (ref int side, ref char[][] board) //make empty symbol chessboard
{
const char black = ' ';
const char white = 0xB0;
board[0][0] = ' ';
for (int i = 1; i <= side; i++)
{
board[i][0] = 0x30 + i; //Setting nums; "Error: Cannot convert int to char"
board[0][i] = 0x40 + i; //Setting letters; same here
for (int j = 1; j <= side; j++)
board[i][j] = (i+j)%2 == 0 ? black : white; //making black-white board
}
}
我正在尝试制作一个简单的符号棋盘。如何根据 row/column 的数量正确设置数字和字母? board[i][0] = 0x30 + i;
(或 0x40)在 C++ 中有效,但在 D 中无效。
board[i][0] = cast(char)(0x30 + i);
请记住,当这样转换时,它可能会溢出。
您已经在 std.conv module. - The best is to use the std.conv.to 中获得了所需的内容。
import std.conv;
import std.stdio;
void main() {
int i = 68;
char a = to!char(i);
writeln(a);
}
输出:
D
ref void init_board (ref int side, ref char[][] board) //make empty symbol chessboard
{
const char black = ' ';
const char white = 0xB0;
board[0][0] = ' ';
for (int i = 1; i <= side; i++)
{
board[i][0] = 0x30 + i; //Setting nums; "Error: Cannot convert int to char"
board[0][i] = 0x40 + i; //Setting letters; same here
for (int j = 1; j <= side; j++)
board[i][j] = (i+j)%2 == 0 ? black : white; //making black-white board
}
}
我正在尝试制作一个简单的符号棋盘。如何根据 row/column 的数量正确设置数字和字母? board[i][0] = 0x30 + i;
(或 0x40)在 C++ 中有效,但在 D 中无效。
board[i][0] = cast(char)(0x30 + i);
请记住,当这样转换时,它可能会溢出。
您已经在 std.conv module. - The best is to use the std.conv.to 中获得了所需的内容。
import std.conv;
import std.stdio;
void main() {
int i = 68;
char a = to!char(i);
writeln(a);
}
输出:
D