C++ сохраняет последовательные символы в массив

Это может быть очень тривиальный вопрос, но я искал, как обойти это без особой удачи. У меня есть функция для чтения из последовательного порта с использованием функции libserial, ответ, который я получу, всегда заканчивается возвратом каретки или символом "\r", поэтому, чтобы прочитать его, я подумал о том, чтобы читать символ за символом, сравнивая, если это не \ r и затем сохраняет каждый символ в массив для последующего использования. Моя функция заключается в следующем:

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

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

В итоге, вероятно, мой вопрос должен быть о том, как хранить последовательные символы в массиве. Большое спасибо за ваше ценное понимание.

1 ответ

Решение

Я думаю, ты хотел

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; 
}
Другие вопросы по тегам