socket编程中,传递的数据里包含string成员导致段错误

来源:互联网 发布:怎么用mac剪辑视频 编辑:程序博客网 时间:2024/05/20 21:22
在之前的的socket编程中为了更方便传递字符串数据,我一开始想到了在struct中包含string对象进行传递数据,然而传递到服务器之后,在服务器里访问该数据却出现了段错误,调试多下之后才回忆起传递过来之后是char*类型的指针,在内存中的数据需要将char×指针转化成struct类型的指针,而获得该指针之后访问结构提的string成员会出现定位错误的问题,其实主要是因为string的大小是不定的,虽然传递过来的数据没有丢失,但是要访问string成员时候不知道如何string成员的大小,因此无法利用首地址进行定位该成员的尾部,因此出现了段错误,所以在传递数据时候应谨慎使用string。建议使用字符数组
0 0
原创粉丝点击