新手求教如何写一个可以修改原输入CString类字符串的函数

顺便治水 2019-05-15 08:20:09
手头上有一个用MFC对话框,基于串口通讯的小项目。现在要给下位机发送命令帧,每帧最后一位是校验位,该校验位的值等于除帧头和自身外所有字节的累加和取低八位。

因为命令帧会随着我输入的数据变化,所以写一个函数来处理是最方便。

我设想的是写一个函数,输入CString字符串,函数对输入的进行处理在原来输入的加一位校验位,就是直接修改了输入的字符串并且加了一位校验位。

求教这种思路可不可行?

另外现在是写了一个函数,也在函数内部把上面的要求满足了,只是拼起来的新字符串在函数内部变量里,不知道用什么思路把这个值传递出去。

先提前谢谢大家了~
...全文
165 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
顺便治水 2019-05-19
  • 打赏
  • 举报
回复
谢谢各位的热情回答! 后来写函数时换了一个思路,不用修改原输入的字符串了。 现在小项目还没有做完,暂时还没有认真思考各位给出的解决方案。待我认真看过以后会结贴的。谢谢大家
Eleven 2019-05-17
  • 打赏
  • 举报
回复
BOOL CRC(CString& strData, ....);
zgl7903 2019-05-16
  • 打赏
  • 举报
回复
仅供参考

//返回数据帧长度
int GenFrame(const void *pInMsg, //输入消息数据地址
             const int iInMsgLen, //输入消息数据长度
             unsigned char *pOutFrame, //输出数据帧缓冲区地址
             const int iOutFrameBuffLen //输出数据帧缓冲区长度
             )
{
}
  • 打赏
  • 举报
回复
把新的字符串做为函数的返回值就可以了。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧