机器人工程师的非机器人编程技能

自从接触到KUKA机器人以来,更多关注到了PC层面上的编程。工业现场多是采用快速更换的PLC系统硬件,这些将会注重在现场离散信号控制方面;而PC层面的编程更多会注重在数据传输、显示、存储方面的运用。那么,有什么编程技术值得储备呢?

Continue reading

CString 和 cout 和 string

CString 和 cout

MFC里面直接使用CString比较方便,不过并不能直接由cout输出。看下面代码,在VC6和VC2010中输出是不同的。

#include <afx.h>
#include <iostream>
using namespace std;

void main()
{

CString s1="1234567890";
cout<<s1;

}

cout<<s1;

改为

cout<<s1.GetBuffer(0); //MFC4.2中的,高版本增加GetString()

或者

cout<<LPCTSTR(s1);

就可以输出正确的字符串内容,原理是获取字符串的首地址指针。

CString 和 string

由此可以引申出cstring类型转化为string类型方法:

#include <afx.h>
#include <iostream>
#include <STRING>
using namespace std;

void main()
{
	string s0="0987654321",s3="",s4="";
	CString s1="1234567890";

	s1=s0.c_str(); //string类型转换为cstring类型
	s3=LPCTSTR(s1); // 注 *
	s4=s1.GetBuffer(0); //cstring类型转换为string类型

	cout<<s0<<endl;
	cout<<LPCTSTR(s1)<<endl;
	cout<<s3<<endl;
	cout<<s4<<endl;

}

* 关于 LPCTSTR

You can freely substitute CString objects for const char* and LPCTSTR function arguments
LPCTSTR   A 32-bit pointer to a constant character string that is portable for Unicode and DBCS.
LPTSTR      A 32-bit pointer to a character string that is portable for Unicode and DBCS.

扩展阅读

关键字:cstring, string, cout, 指针, LPCTSTR

Bits Tool V1 一个自制 BIT | BIN | HEX 转换小工具

用 VC6 开发一个 Win 平台小工具,用来计算 bit 相关的二进制、十六进制和十进制之间的转换。最主要的功能是,可以快速知道哪个 bit 是 0 还是 1。尽管进制转化,Win7计算器可以很好地完成,但是特别有时候需要知道第几个位的状态,如果你的眼力心算能力好,有可能从一堆 0 和 1 中瞄出来,不然只好老老实实地数吧。所以这个软件的最大的用处是把每个位都单独标出来。

Bits_Tool

Continue reading