最近在利用MFC做端口扫描器实验,其中涉及CString、char、int等之间的转换、文本框的多行显示问题、总是显示底层最新结果等问题,下面写一些我总结的相关方法。

一、CString 转  char *

void CS_to_ch(char mess[], CString str) {         //CString to char
char *pbuff = (char *)str.GetBuffer(str.GetLength());
char one = pbuff[];
char two = pbuff[];
int i = ;
for (; i < str.GetLength(); i++) {
mess[i] = pbuff[i * ];
}
mess[i] = '\0';
}

这样就可将cstring转为char*

char* 转cstring  更为简单

char s[]="hello";
CString str = s;

int 转 cstring

int i = ;
CString str;
str.Format(_("%d"), i);

二、文本框的多行显示

文本框输出的方法有很多,这里介绍其中一种方法。

首先为我们的edit control关联变量,类型选择value,名称自取,假设为Cedit,首先接受一行输出:

Cedit =_T("hello");
UpdateData(FALSE);

_T()代表用unicode字符集编码,具体不做阐述。

如果多行输出,首先需要设置edit control的属性:

Multiline   设为 True;

Horizontal Scroll 和Vertical Scroll及Want return 均设为true;

然后,

Cedit ="hello";
Cedit =Cedit + "\r\n" +"world";
UpdateData(FALSE);

即可多行输出。

实现底部更新只需一行代码:(首先为edit control设置关联变量,类型为控件,名字自取,假设为m_edit)

UpdateData(FALSE);
m_edit.LineScroll(m_edit.GetLineCount() - , );

最新文章

  1. markdown简要说明显示样式
  2. C# 构建XML(简单示例)
  3. Lae程序员小漫画(三),仅供一乐
  4. xmpp整理笔记:用户网络连接及好友的管理
  5. 手机抓包-fiddler
  6. IOS socket开发基础
  7. linq lambda 分组后排序
  8. padding当高度用时出现的问题
  9. JVM运行和类加载过程
  10. Python内置函数(6)——round
  11. 实践详细篇-Windows下使用VS2015编译安装Caffe环境(CPU ONLY)
  12. Oracle DBA 必须掌握的 查询脚本:
  13. 立一个Flag吧
  14. WPF BackGroundWord 异步加载更新进度条示例
  15. Floyd最短路(带路径输出)
  16. 深入理解 MySQL ——锁、事务与并发控制
  17. webpack+avalon+mmState打包方案
  18. WordPress主题开发:网站搜索
  19. C语言 &#183; 交换Easy
  20. liunx trac 安装记录

热门文章

  1. 就是这个foxmail有时出现记事同步不了
  2. uva11542
  3. 【培训】MySQL
  4. E20180119
  5. hdu4738(边双连通分量,桥)
  6. 关于Android皮肤更换分享
  7. hdu5922Minimum’s Revenge
  8. 数据传递-------@PathVariable
  9. 初窥Android Studio
  10. Kali Linux的介绍