Działam z małym projektem gdzie analizując obraz dokonuje detekcji obiektu i współrzędne obiektu na obrazie są przekazywane portem szeregowym do Arduino a te steruje sobie serwomechanizmem.
Szukam optymalnej metody przekazania wartości int (w moim przypadku liczba 3 cyfrowa - max 180) przez port szeregowy w formie tablicy znaków.
Czyli muszę dokonać konwersji typu INT - CHAR.
Która metoda będzie lepsza w moim przypadku? - liczy się szybkość.
Chętnie przyjmę inne rozwiązania - jeżeli będą szybsze w działaniu :)
kod samej konwersji:
#include<iostream>
#include<sstream>//pierwsza metoda
#include <stdio.h>//druga metoda
using namespace std ;
int main()
{
int x=1;
while(x!=0)
{
cout<<"Give me int:";
cin >> x;
//pierwsza metoda int -> string - > char
stringstream stringType;
char* charType;
stringType << x;
string tmp = stringType.str();
charType = const_cast<char*>(tmp.c_str());
//Druga metoda <stdio.h>/ sprintf - int na char
char charType2[3];
sprintf(charType2, "%d", x);
//wynik
cout<<"\nint="<<x<< "\t string="<<stringType<< "\t char="<<charType<< "\t char2="<<charType2<< endl;
}
return 0;
}