1

我很难为以下情况找到一个好的解决方案:

write函数采用const char ,通过调用write(ch)作为用户输入通过cin.get(ch ) 给出。ch 是一个char

while (c.active()) 
{
 char ch;
 cin.get(ch); // blocking wait for standard input

 if (ch == 3) // ctrl-C to end program
   break;
 c.write(ch);
}

这工作正常,但我想对其进行修改,以便可以进行如下输入:“0A00CD88”或“0A 00 CD 88”并将其用作write的输入,也就是将其用作boost 的输入: :asio::缓冲区

为此,我可以使用C/C++boost

感谢任何分享这方面知识的人!

4

2 回答 2

2

下一个代码将解决您的第一个场景(没有空格)

int x;
std::cin >> std::hex >> x;

使用十六进制基数

于 2012-09-03T12:34:04.950 回答
2

那是你的解决方案:

只需更换

std::string hex_chars("E8 48 D8 FF FF 8B 0D");

std::string hex_chars;
std::getline(std::cin, hex_chars);

PS我希望我正确理解了你的问题:)

于 2012-09-03T13:22:54.163 回答