将以下delphi代码用c++代码写出来
求助:将以下delphi代码用c++代码写出来
------解决方案--------------------
------解决方案--------------------
ls的是c语言
class function TMxtTmProto.EncodeMsgData(const rawData: string): string;
var
i:Integer;
len:Integer;
begin
Result := '';
len := length(rawData);
for i:=1 to len do
begin
if (Byte(rawData[i]) = $01) or (Byte(rawData[i]) = $04) or
(Byte(rawData[i]) = $10) or (Byte(rawData[i]) = $11) or
(Byte(rawData[i]) = $13) then
begin
Result := Result + Chr($10);
Result := Result + Chr(Byte(rawData[i]) + $20);
end
else
Result := Result + RawData[i];
end;
end;
------解决方案--------------------
char* TMxtTmProto.EncodeMsgData(const char* rawData)
{
int i;
int len;
char* str;
int n = 0;
len = strlen(rawData);
str = (char*)malloc(sizeof(char) * len * 2;
for(i = 0; i < len; i++)
{
if((rawData[i] == '\x01')
------解决方案--------------------
(rawData[i] == '\x04')
------解决方案--------------------
(rawData[i] == '\x10')
------解决方案--------------------
(rawData[i] == '\x11')
------解决方案--------------------
(rawData[i] == '\x13'))
{
str[n++] = '\x10';
str[n++] = (rawData[i] + 0x20) & 0xff;
}
else
{
str[n++] = rawData[i];
}
}
str[n] = '\0';
return str;
}
------解决方案--------------------
string TMxtTmProto_EncodeMsgData(const string& rawData)
{
int len;
string Result("");
len = rawData.length();
for (int i=0; i<len; i++)
{
if ((rawData[i] == 0x01)
------解决方案--------------------
(rawData[i] == 0x04)
------解决方案--------------------
(rawData[i] == 0x10)
------解决方案--------------------
(rawData[i] == 0x11)
------解决方案--------------------
(rawData[i] == 0x13))
{
Result += char(0x10);
Result += char(rawData[i] + 0x20);
}
else
Result += RawData[i];
}
return Result;
}
ls的是c语言