小编use*_*644的帖子

通过串口发送时,无法将字节数组转换为字符串数组,反之亦然

我必须做以下事情

  1. 在包含4个字节的char数组的末尾以十六进制追加2个字节,因此结果为6个字节.

  2. 将上面的6字节字节数组转换为char数组,将其传递给函数crcresult.(该函数只接受char数组).

  3. 最后在6字节的末尾合并crc 2字节.

我已在单独的java类中测试了以下程序,并且它有效.

  public class CharBytetest
  {
    public static void main(String[] args) 
    {
      char charbuffer1[] = {0x01,0x05,0x00,0x03};
      byte[] bufferbyte1 = new String(charbuffer1).getBytes();// converts chararray  to byte array

      byte byte4 = (byte)0xFF;
      byte byte5 = (byte)0x00;

      byte[] bufferbytemerge1 = new byte[bufferbyte1.length+2];
      System.arraycopy(bufferbyte1, 0, bufferbytemerge1, 0, bufferbyte1.length);
      bufferbytemerge1[bufferbyte1.length]= byte4;
      bufferbytemerge1[bufferbyte1.length +1 ]= byte5;

      //bufferbytemerge1 contains 6 byte (charbuffer1 + byte4 + byte5 )
      String str = new String(bufferbytemerge1);

      //bufferbytemerge1  converted to char array
      char[] charbuffer2 = str.toCharArray();
      byte[] bufferbyte2 …
Run Code Online (Sandbox Code Playgroud)

java arrays binary serial-port bytearray

1
推荐指数
1
解决办法
7427
查看次数

如何在C++中为类内部分配可修改的数组大小

我需要将类中定义的数组的大小作为依赖于情境的值.为了澄清这一点,以下具有固定数组大小的代码显示没有错误

class CMinimalServer : public GBDataAccess
{
public:
    DWORD IdG[30];
    VARIANT Value[30];
    WORD Quality[30];
    FILETIME Timestamp[30], ft;
    HRESULT Error[30];
Run Code Online (Sandbox Code Playgroud)

但是我需要在上面的例子中将数组的大小设置为'30'作为可靠值.我的意思是说,假设代码的其他部分,我有

if (a==b)
     Number = 10;
else
     Number = 30;
Run Code Online (Sandbox Code Playgroud)

因此,阵列的大小应为10和30.

但是以下代码显示错误

class CMinimalServer : public GBDataAccess
{
public:
    DWORD IdG[Number ];
    VARIANT Value[Number ];
    WORD Quality[Number ];
    FILETIME Timestamp[Number ], ft;
    HRESULT Error[Number ];
Run Code Online (Sandbox Code Playgroud)

我试过了

#define Number 16
Run Code Online (Sandbox Code Playgroud)

在顶部和上面的代码显示没有错误,但问题是我不能修改代码的其他部分中的变量

////解决方案中的一些问题

我根据建议修改了代码:我必须在类中创建函数(createTag).

// Class definition 
class CMinimalServer : public GBDataAccess
{
public:
struct Entry
{
    DWORD IdG;
    VARIANT Value;
    WORD Quality; …
Run Code Online (Sandbox Code Playgroud)

c++ arrays class

0
推荐指数
1
解决办法
305
查看次数

标签 统计

arrays ×2

binary ×1

bytearray ×1

c++ ×1

class ×1

java ×1

serial-port ×1