请问用VC 2008编先VT的BB的vc插件下载谁呀,或是指明一下在...

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

这个编译器能通过吗?楼主是6.0的?能通过?我的是2005的,通不过,反正我从来没用过楼主这样的代码,不管能否通过,正规的代码都是这样的:

3)GetCollect可能会从数据库中取到NULL,如果数据库定义是NOT NULL,可以直接使用楼主说的第二种。否则,必须使用第一种,先判断var.vt是否为VT_NULL,如果是的话,就不能再使用第二种方法了,否则会报错。

贴的图不就说明了,如果是VT_NULL, BSTR是无效的,当然也就不能使用了。所以str应该等于EMPTY,并且不能使用第二种方法中的代码,否则会产生运行时错误。2种方法并不是没有区别的,而是区别很明显的!!!

对于取字符串来说,没有区别。

但是如果是别的类型的数据,应使用第一种,并使用对应的var.数据来实现。

第一种方法适用性比较广。

1是检查了一下是否得到返回值,如果没有返回值则置空。

2不做检查直接进行转换,如果没有返回值可能得到随机一个字符串甚至出错。。

其实是一样的,没区别,CString照样可以赋空值

为了方便你更好的学习和阅读,也更好的体现尊重原创作者的劳动成果,请您直接查看转载原本链接:

VC++常用数据类型及其操作详解

一.VC常用数据类型列表

的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。之所以出现类似上述的这些数据类型,是因为不同编程语言之间的数据交换以及对ANSI、Unicode和多字节字符集(MBCS)的支持。

BSTR(Basic STRing,Basic字符串)是一个OLECHAR*类型的Unicode字符串。它被描述成一个与自动化相兼容的类型。由于操作系统提供相应的 API函数(如SysAllocString)来管理它以及一些默认的调度代码,因此BSTR实际上就是一个COM字符串,但它却在自动化技术以外的多种场合下得到广泛使用。图1描述了BSTR的结构,其中DWORD值是字符串中实际所占用的字节数,且它的值是字符串中Unicode字符的两倍。

LPSTR和LPWSTR是Win32和VC++所使用的一种字符串数据类型。LPSTR被定义成是一个指向以NULL(‘/0’)结尾的8位ANSI 字符数组指针,而LPWSTR是一个指向以NULL结尾的16位双字节字符数组指针。在VC++中,还有类似的字符串类型,如LPTSTR、 LPCTSTR等,它们的含义如图2所示。

short。由于CString在MFC应用程序中经常用到,这里不再重复。

三、VARIANT、COleVariant 和_variant_t 在OLE、ActiveX和COM中,VARIANT数据类型提供了一种非常有效的机制,由于它既包含了数据本身,也包含了数据的类型,因而它可以实现各种不同的自动化数据的传输。下面让我们来看看的MFC应用程序中使用时需要在代码文件前面添加下列两句:

#include "由于功能强大、应用广泛,因而字符串之间的转换更为频繁。本文几乎涉及到目前的所有转换方法。当然对于.NET框架来说,还可使用Convert和Text类进行不同数据类型以及字符编码之间的相互转换。


建议你找本C++方面的书看看,VC虽然号称可视,实际上C++基础还是很重要的。

要想使你的工程支持MFC,请按照以下步骤作:


1:在你的stdafx.h的头文件中加入:
这是一个囊括了MFC的集合定义的头文件,有了它,你的工程就识别Cstring类了。

OK,现在再编译你的工程即可。 

因为(char *)转换需要一个const的字符串资源,才能强制转换。

它可以根据编译环境确定为DBMS,还是UNICODE字符集


是=》- 类型转换错。

先拷贝MSDN中的一小段话:


的不同啊。不知道那位知道的告诉一声,在此不胜感谢,50分奉上。

14。byte数据类型转换成int型??我用byte型读进一组数据想把他转成int型进行运算如何做呢?


问题解决了,多谢各位 
如果强制转换的话,会出现致命错误,有什么好的办法呢?
能列举一些其他的办法吗?

在此谢谢大家,请帮忙看看

27。在一个COM的接口函数中有一个 BSTR* 类型的参数,需要把一个 char * 类型转换为 BSTR* 类型,不知道如何转换? 由于调用这个函数后需要把这个参数值再取出来所以只能用指针,另外在调用的时候应该用什么类型的数据传递参数呢?大虾帮忙。BSTR bstr = SysAllocString(L"字符串");


这样转换,用的时候你用地址操作符&啊,要不指针还得new 
请问此时A的类型,是指向SA还是SB
此时编译器是生成一个临时指针吗?
B=(SB*)A;此时A又是什么类型???
我是说把e转换成DWORD型

buf中的内容也正确!!


根本不是什么字节对齐的问题,我上面的程序经过测试都好用啊,这位老兄用我的那段程序究竟是什么错误,能说清楚点吗???

我这边用socket发送结构是一点问题也没有啊,而且是在VC和Delphi编的程序间通讯,当然,这时应该注意字节对齐的问题了,在VC程序间,

但是第一种常用 

参考资料

 

随机推荐