阅读:2076回复:8
同样是访问字符串,cstring和char *如何转换?
比如我在把一个dos界面的程序转换成windows界面,dos界面下都是一些用char *定义的变量,在mfc的控件关于字符串下访问字符串(比如edit框)用的是cstring,那么如何实现转换?另外,c中对字符串的操作函数比如strlen,strcpy这些好像都不能对cstring起作用?
|
|
最新喜欢:hanwl |
沙发#
发布于:2005-03-03 22:16
DOS下的程序。。。有windows操作系统的虚拟设备驱动支持,,应该可以直接执行的吧,,,
至于那些函数我觉得不可以操作cstring,,, 对cstring的操作函数,,应该都封装在其内部了。。 其实你自己可以试试啊,,,实践是检验理论的唯一标准,,! :D |
|
|
板凳#
发布于:2005-03-03 23:25
其实我是试过不行,所以问解决办法…………
不是说不能运行,而是我就是需要做一个windows界面的,现在正在把dos的源代码转过去 |
|
地板#
发布于:2005-03-04 09:35
CString的构造函数就可以
char * a=\"asdfas\"; CString str(a); afxmessagebox(str); |
|
|
地下室#
发布于:2005-03-04 09:36
str.getlength()
=重载后可以直接复制 |
|
|
5楼#
发布于:2005-03-04 11:22
仅仅是替换是不行的。
了解原来的程序,自己重新写一个。 |
|
6楼#
发布于:2005-03-04 16:51
赞成楼上说得!
|
|
7楼#
发布于:2005-03-04 22:00
比如我在把一个dos界面的程序转换成windows界面,dos界面下都是一些用char *定义的变量,在mfc的控件关于字符串下访问字符串(比如edit框)用的是cstring,那么如何实现转换?另外,c中对字符串的操作函数比如strlen,strcpy这些好像都不能对cstring起作用? 其实mfc通过重定义操作符LPCTSTR对此提供了非常简洁的支持: char* str; cstring cs; char*到cstring: cs=cstring(str); cstring到char*: str=(LPCTSTR)cs; |
|
|
8楼#
发布于:2005-03-09 12:55
楼上说的没错,可以这样转换
CString str; (char*)(LPCTSTR)str |
|
|