利用MFC里面格式化函数也可以实现可变长度的问题
直接粘代码:
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坐标。

利用MFC里面格式化函数也可以实现可变长度的问题的更多相关文章
- 数字格式化函数:Highcharts.numberFormat()
(转)数字格式化函数:Highcharts.numberFormat() 一.函数说明 该函数用于图表中数值的格式化,常见用途有数值精度控制.小数点符.千位符显示控制等. 二.函数使用 1.函 ...
- (转)数字格式化函数:Highcharts.numberFormat()
一.函数说明 该函数用于图表中数值的格式化,常见用途有数值精度控制.小数点符.千位符显示控制等. 二.函数使用 1.函数构造及参数 Highcharts.numberFormat (Numbe ...
- jquery easyui datagrid 空白条处理 自适应宽高 格式化函数formmater 初始化时会报错 cannot read property 'width'||'length' of null|undefined
1---表格定义好之后右侧可能会有一个空白条 这个空白条是留给滚动条的,当表格中的一页的数据在页面中不能全显示时会自动出现滚动条,网上有很多事要改源码才可以修改这个,但是当项目中多处用到时,有的需要滚 ...
- 利用MFC创建窗口、消息映射、window中的字节
利用MFC创建窗口: 1.mfc的头文件:afxwin.h 2.自定义类,继承于CWinApp,应用程序类(app应用程序对象,有且仅有一个) 3.程序入口:Initinstance 4.在程序入口中 ...
- 关于jqGrig如何写自定义格式化函数将JSON数据的字符串转换为表格各个列的值
首先介绍一下jqGrid是一个jQuery的一个表格框架,现在有一个需求就是将数据库表的数据拿出来显示出来,分别有id,name,details三个字段,其中难点就是details字段,它的数据是这样 ...
- Sql Server 日期格式化函数
Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVE ...
- Sql Server 中一个非常强大的日期格式化函数
Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0)-- 05 16 2006 10:57AMSelect CONV ...
- SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程(支持单表或多表结查集分页)
SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程,支持单表或多表结查集分页,存储过程如下: /******************/ --Author:梦在旅 ...
- SQL GETDATE()日期格式化函数
Sql Server 中一个非常强大的日期格式化函数 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONV ...
随机推荐
- BZOJ 1067 降雨量(RMQ-ST+有毒的分类讨论)
1067: [SCOI2007]降雨量 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 4399 Solved: 1182 [Submit][Stat ...
- linux系统——etc下的group 文件
etc/group 文件 用户组的所有信息都存放在/etc/group文件中 将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段.每个用户都属于某个用户组:一个组中可以有多个用户,一个 ...
- windows下Call to undefined function curl_init() error问题
本地项目中使用到curl_init()时出现Call to undefined function curl_init()的错误,去掉php.ini中的extension=php_curl.dll前的分 ...
- Linux调用fork()编程
本文出自:svitter's blog #include <iostream> #include <cstdio> #include <unistd.h> usin ...
- mac 安装 python 配置||虚拟环境
前篇:http://www.cnblogs.com/ostrich-sunshine/p/8747791.html 介绍了 Mac 下 python 的一些相关知识. 这篇介绍 python3 的安装 ...
- my conclusion about time planing and requirement changes.
How to estimate time when requirement changes or is added: my principle: never say so easy, at least ...
- Ubuntu中配置Tomcat与Eclipse整合
Apache Tomcat 作为web服务器已经广泛用于Java Servlets 和 JSP (Java Server Pages) 开发. 环境:Ubuntu10.10 java环境的配置见另一篇 ...
- linux 下 多进程与多线程
[Linux]多进程与多线程之间的区别 http://blog.csdn.net/byrsongqq/article/details/6339240 网络编程中设计并发服务器,使用多进程与多线程 ,请 ...
- 修改手機的 input source 及 charger 及 usb 相關電路後,容易忽略的事項
input source 及 charger 需要注意, 是否可以在關機的狀況下充電, 當然 開機充電 是一定要的. usb 部分需要注意, 是否可以在沒有電或者是有電的狀況下 download 程式 ...
- 有道词典中的OCR功能:第三方库的变化
之前有点好奇有道词典中的OCR功能,具体来说就是强力取词功能.我知道的最有名的OCR库是tesseract,这个库是惠普在早些年前开源的. 在用python做爬虫处理验证码的时候,就会用到这个库,对应 ...