【问题标题】:Converting Byte Array to String (NXC)将字节数组转换为字符串 (NXC)
【发布时间】:2011-09-10 20:30:49
【问题描述】:

有没有办法在 NXTscreen 上显示字节数组(使用 NXC)?

我试过这样:

unsigned char Data[];
string Result = ByteArrayToStr(Data[0]);
TextOut(0, 0, Result);

但它给了我一个File Error! -1

如果这不可能,我如何在程序期间查看Data[0] 的值?

【问题讨论】:

  • 你应该只传递Data,而不是Data[0]。所以,它是ByteArrayToStr(Data)

标签: string bytearray nxt nxc


【解决方案1】:

如果你想以十六进制格式显示字节数组,你可以这样做:

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() here


如果您只是想将其转换为 ASCII:

unsigned char Data[];
string Result = ByteArrayToStr(Data);
TextOut(0, 0, Result);

如果你只想显示一个字符:

unsigned char Data[];
string Result = FlattenVar(Data[0]);
TextOut(0, 0, Result);

【讨论】:

    【解决方案2】:

    试试bytebyte 是 NXC 中的 unsigned char

    P.S. 在 BricxCC 中有一个高度开发中的调试器(我假设您在 Windows 上)。看here

    编辑:代码编译并运行,但不执行任何操作。

    【讨论】:

      猜你喜欢
      • 2021-11-11
      • 1970-01-01
      • 2018-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多