C++的一些转换问题

Some conversion questions for C++

本文关键字:转换 问题 C++      更新时间:2023-10-16

我正在做一个分布式程序(我不知道这个词是不是,我用西班牙语学的),在那里我需要在一些进程之间发送和接收消息,乍一看很简单。

当我想在同一条消息中发送两个int时,情况会变得复杂。使用send(),你只能发送char*,所以我使用了这个:

string s = to_string(valla) + " " + to_string(tiempo);
const char* buffNum = s.c_str();

一切都很好,直到我必须接收并"解码"信息。所以,如果我收到一个数字,我可以使用atoi(),现在的问题是,当我收到两个数字时,我该如何做到这一点?

提前谢谢。

const char* buffNum = s.c_str();

一旦s发生更改或超出范围,就会产生未定义的行为来取消引用buffNum


解码,如果您确定您的字符串正常,请使用std::istringstream:

std::istringstream iss(buffNum);
int num1, num2;
iss >> num1 >> num2;