[英]Convert unsigned char to int c++
I currently have a small problem with my code: 我的代码目前有一个小问题:
unsigned a[100][100];
void f(unsigned char l, unsigned char h, unsigned char n, unsigned char p[][4]){
int i,k,t,x,y,z,m,j;
char s;
for (i = 0;i<h;i++) {
a[i][0] = '|';
a[i][l + 1] = '|';
}
for (i = 0;i<l+2;i++) a[h][i] = '-';
for (i = 0;i<h;i++)
for (int j = 1;j<l+1;j++)
a[i][j] = '.';
for(i=0;i<n;i++){
//read each piece
for(j=0;j<4;j++)
cin>>p[i][j];
for(m=(int)p[i][0];m<5;m++)
for(j=3;j<5;j++)
a[j][m]=p[i][3];
}
}
It doesn't convert unsigned char p[i][0] to int in m. 它不会将无符号字符p [i] [0]转换为m中的int。
Better use static_cast
like below: 最好像下面这样使用
static_cast
:
m = static_cast<int>(p[i][0]);
Also try like below as well:- 也可以尝试如下所示:-
m = (p[i][0]) - '0';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.