不行,CString内部设计安全问题不会把内部缓冲指针抛出来让你改的,最多是memcpy
解决方案 »
- 谁在看《windows核心编程》第五版,问个问题
- SendMessage为什么没有效果
- **************************请问关于一段编码解码代码的问题****************
- 这个Error如何解决?fatal error C1083: Cannot open include file: 'cstringt.h': No such file
- 想要把一棵二叉树图形输出,请问有什么好算法?
- 皮肤技术,界面不错。值得学习...
- 不要笑话我!
- 用过winio的过来看看……
- 如何在VC连接时加入程序函数需要的lib文件啊?高人帮忙啊!!!
- 请问一下,学习分布式应用程序开发需要哪些基础?对COM需要了解多少?
- 在这里问问:window path问题
- 消息的又三个新问题
难道说CString不能用在效率要求比较高的场合吗,特别是有了char *,然后想通过CString的算法的时候?
CString是不会影响效率的,就看你怎么用了。比如,CString.SetLenghtGetBuffer可以当成一个char *使用,而没必要用另外一个char ×。
实际使用中要注意的事很多,比如CString的内部地址是浮动的,CString的编码问题,等等。共同学习吧。
不过一般来说,字符串前面是不会有16个字节空余的,所以基本上没有办法……
使用C/C++库函数才是最合适的方法。
不过一般来说,字符串前面是不会有16个字节空余的,所以基本上没有办法……
使用C/C++库函数才是最合适的方法。
不过一般来说,字符串前面是不会有16个字节空余的,所以基本上没有办法……
使用C/C++库函数才是最合适的方法。
不过一般来说,字符串前面是不会有16个字节空余的,所以基本上没有办法……
使用C/C++库函数才是最合适的方法。
psz = str.GetBuffer(20);strcpy(psz, "abc");这样就达到你的要求了
psz和str都是指向同一内存区域
IAtlStringMgr接口有几个方法:
Allocate、Free、Reallocate、GetNilString、Clone
你可以在分配/释放方法中什么都不用做,分配时只需简单返回已有缓冲区的指针。