Это может быть очень тривиальный вопрос, но я искал, как обойти это без особой удачи. У меня есть функция для чтения из последовательного порта с использованием функции 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;
}
В итоге, вероятно, мой вопрос должен быть о том, как хранить последовательные символы в массиве. Большое спасибо за ваше ценное понимание.
Я думаю, ты хотел
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;
}
Других решений пока нет …