-2

这可能是一个非常微不足道的问题,但我一直在寻找如何绕过它而没有太多运气。我有一个使用 libserial 函数从串行端口读取的函数,我得到的响应总是以回车符或“\r”结束,所以,为了阅读它,我在考虑逐个字符地比较 if它不是一个 \r 然后将每个字符存储到一个数组中以供以后使用。我的功能如下:

void serial_read()
{
char character;
int numCharacter = 0;
char data[256];

     while(character != '\r')
     { 
         serial_port >> character; 
         numCharacter++;
         character >> data[numCharacter];
     }
cout << data; 
}

总之,可能我的问题应该是如何将连续的字符存储到一个数组中。非常感谢您的宝贵见解。

4

1 回答 1

0

我猜你打算

void serial_read()
{
  char character = 0;
  int numCharacter = 0;
  char data[256];

  while(character != '\r' && numCharacter < 255)
  { 
     serial_port >> character; 
     data [numCharacter ++] = character;
  }
  data [numCharacter] = 0;  // close "string" 
  cout << data; 
}
于 2017-08-24T20:51:57.967 回答