有没有办法在 NXTscreen 上显示字节数组(使用 NXC)?
我试过这样:
unsigned char Data[];
string Result = ByteArrayToStr(Data[0]);
TextOut(0, 0, Result);
但它给了我一个File Error! -1
.
如果这是不可能的,我怎么能Data[0]
在程序期间观看 的价值?
如果要以十六进制格式显示字节数组,可以这样做:
byte buf[];
unsigned int buf_len = ArrayLen(buf);
string szOut = "";
string szTmp = "00";
// Convert to hexadecimal string.
for(unsigned int i = 0; i < buf_len; ++i)
{
sprintf(szTmp, "%02X", buf[i]);
szOut += szTmp;
}
// Display on screen.
WordWrapOut(szOut,
0, 63,
NULL, WORD_WRAP_WRAP_BY_CHAR,
DRAW_OPT_CLEAR_WHOLE_SCREEN);
你可以在WordWrapOut()
这里找到。
如果您只是想将其转换为 ASCII:
unsigned char Data[];
string Result = ByteArrayToStr(Data);
TextOut(0, 0, Result);
如果您只想显示一个字符:
unsigned char Data[];
string Result = FlattenVar(Data[0]);
TextOut(0, 0, Result);