博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用MFC里面格式化函数也可以实现可变长度的问题
阅读量:6612 次
发布时间:2019-06-24

本文共 1310 字,大约阅读时间需要 4 分钟。

直接粘代码:

 

1:      CString str1;  //定义两个MFC里面的CString里面的字符串
2:      CString str2;
3:      str1.Format("(%d)",matrix.Num);   //将str1格式化为此种结构,这句话等于 str1 = “变量”。用他来将某个数据类型转换为字符串类型。                                             //和那种 IntToString()有几分相似。
4:      str2 = str2 + str1;
5:      for(int i = 0; i < obs ;i++)
6:      {
7:          str1.Format("(%d,%d)",matrix.point[i].x,matrix.point[i].y);
8:          str2 = str2 + str1;           //将str1连接到str2的后面。 此中的  +   为连接符。
9:      }
10:      //str2 = str2 + "end";
//首先这个GetBuffer主要用来把CString对象的字符串转c类型的字符串用的,CString对象中有一个缓冲区,GetBuffer返回的应该是它的一份拷贝,而你需要为这份拷贝设置一个最小长度。
11:      string str_war(str2.GetBuffer(str2.GetLength())); //将MFC里面的CString字符串转为C语言里面的字符串。string  str_war(),这个是定义并赋值的意思。 注意这两者的定义,CString str1,str2;   一个是string  str_war();这个也是声明并定义的意思。
12:      char* buf=(char*)malloc(10000);   //buf是指针,但我们可以指定其大小。
13:      memset(buf,0,10000);            //开辟空间,赋值为0.这两句其实就是定义了一个字符型数组。
14:      memcpy(buf,str_war.c_str(),str_war.size()); //c_str()是string类的一个成员函数, 返回常量char *类型的C风格字符串。其实按这种方法也可以实现变长的问题。   buf定义了很大,但我们并没有将它全部发送过去。这个一定要清楚明白,下面sendto函数中会有体现。
 
下面是udp发送函数
iSend=sendto(sClient,buf,str_war.size(),0,(struct sockaddr*)&ser,iLen);//在这里我们可以指定buf的长度,这个很重要。
UDP接收端,收到的数据如下图所示: 第一个表示非零点的个数。其他的表示各个点的x与y坐标。
 

转载于:https://www.cnblogs.com/zhuxuekui/p/3517727.html

你可能感兴趣的文章
《Gamestorming》读书笔记
查看>>
域名和网址链接被微信浏览器拦截怎么办 微信屏蔽网址打开如何解决
查看>>
使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(二)
查看>>
ubuntu下安装jdk
查看>>
C/S与B/S架构比较
查看>>
XML学习总结(2)——XML简单介绍
查看>>
python操作数据库-安装
查看>>
vs.net删除转移文件
查看>>
你真的了解interface和内部类么
查看>>
java中常用的类型转换
查看>>
【log4j】使用Log4j?,slf4j更轻巧高效
查看>>
kuangbin专题七 POJ3264 Balanced Lineup (线段树最大最小)
查看>>
JS动画效果链接汇总
查看>>
父类转为子类涉及到的安全问题
查看>>
网络流,流水线模拟
查看>>
知识点笔记
查看>>
陈云川的OPENLDAP系列
查看>>
django 模型-----自连接
查看>>
P1197 [JSOI2008]星球大战
查看>>
urllib模块
查看>>