如何用数据缓冲区来初始化string

ilovedrv 2008-10-24 03:40:39
在进行网络编程时,接收到一组数据,一般定义为unsigned char *buffer,现在的问题时,如何将这段数据已string类的方式封装起来,传递出去,不知到有没有比较高效的方法啊
...全文
133 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ilovedrv 2008-10-25
  • 打赏
  • 举报
回复
也只能这样了,定义一个缓冲区,将接收到的数据拷贝后,最后添加一个'\0',直接赋值到string即可
帅得不敢出门 2008-10-24
  • 打赏
  • 举报
回复
char source[] = "test";
string strDest = source;
ilovedrv 2008-10-24
  • 打赏
  • 举报
回复
stl中的string没有相关的函数吗
liumingrong 2008-10-24
  • 打赏
  • 举报
回复
<sstream>
ostringstream
istringstream
devil_zuiai 2008-10-24
  • 打赏
  • 举报
回复
定义数组,然后判断是否能放得下,如果放不下就重新申请内存。
xhs_lh04 2008-10-24
  • 打赏
  • 举报
回复
结构体是可以的,类不知道哦
试试用类地址强制转换成void *传过去看看,个人感觉不行没试过,:)
原先的程序数据缓冲区采用String类型,因此无法发送H00,现将数据缓冲区修改为BLOB类型,可以发送任意数据。 在原先程序的基础上,增加了两个对象:pfc_n_cst_numerical,uo_bit_operator Email: leio88@126.com 以下是原作者的话---------------------------------- 本程序通过调用WINDOWS API函数,实现了类似MSCOMM控件的功能。使PB可以很方便地访问串口。由于所有功能都是PB代码实现的,因此比使用OCX控件访问串口的方式更稳定。 为了方便使用已将所有功能都封装在uo_comm._control用户对象中。使用时只需在窗口中像放置普通对象(如:按钮)一样放置一个uo_comm_control对象即可对串口进行访问。 访问串口时先调用of_setcommport(string commport)和of_setcommsettings(string commsettings)来设置要访问的端口及端口初始化参数,然后调用of_open()初始化端口。或直接使用of_open(string comport,string commsettings)带参数初始化端口。端口初始化成功后即可使用of_send(string sendstring)向串口发送数据,或使用of_read()读取串口数据。当串口有数据到达时,触发ue_received事件,该事件提供给用户用来存放读取串口数据的代码(值得注意的是,当数据到达接收端时,由于发送的数据很长或通讯速率较低,会多次触发ue_receieved事件,并且在ue_received事件中使用of_read()得到的数据仅只是整个发送数据的一部分,需要将多次接收到的数据连接起来才是完整的接收数据)。若对串口所有操作结束不再需要对串口进行操作,则调用of_close()将端口关闭。 Email: blazingstar@sina.com

65,206

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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