C++ Tworzenie string'a z kodów ASCII


(rafalski) #1

Witam!

Potrzebuje stworzyć napis z kodów ASCII.

String napis = (char)65+(char)76+(char)65

da 206, a chciałbym aby złożyło napis: ALA

Dziękuje za pomoc, pozdrawiam!


(enedil) #2

Skoro już chcesz pisać w C++, to powinieneś wiedzieć, że string pisze się z małej litery. A co do reszty, to jaki problem? Szukasz jaki kod mają litery A i L i podstawiasz odpowiednie wartości.


(rafalski) #3

cała zabawa polega na tym że nie wiem jak postawić, ta ALA to tylko przykład, program króry tworze ma przez rs232 sterować pewnym urządzeniem i problem polega na tym, że muszę upakować text w pewne ramki np. <02><01>???<03>, więc wymyśliłem, że połącze wszystko w stringu, ale w ten sposób w który piszę zamiast <02><01> dostaję 3


(Qoo) #4
string nowytekst;
stringstream ss;

ss << (char)65 << (char)76 << (char)65;
ss >> nowytekst;
cout << nowytekst;

Takie coś?


(Protected_48) #5

Problem polega na tym, że te liczby ASCII są sumowane i po tym dodany znak

const int n = 3;

//-----------------------------
string s;
int array_[n] = {65, 76, 65};
for(unsigned int i = 0; i < n; ++i)
    s += array_[i];

Po prostu musisz oddzielnie wprowadzać kody ASCII