
mfc中char[]到cstring的转换问题
chara[8]="aaaaaaaa";CStringb;直接b=a的话..显示aaaaaaaa最后一个符号是终结符?怎么转换才不会有?...
char a[8]="aaaaaaaa";
CString b;
直接b=a的话..显示aaaaaaaa 最后一个符号是终结符?怎么转换才不会有? 展开
CString b;
直接b=a的话..显示aaaaaaaa 最后一个符号是终结符?怎么转换才不会有? 展开
4个回答
展开全部
你定义时就有错了,char a[8]; 里面最多只能放7个a,最后一个要被\0占用,而你里面却有8个a,没有结束符,所以会出错,如果你定义char a[9]的话就可以了,你的定义没有错吗?我在vc6下这样写编译时会报错的。
展开全部
首先,你要明确你的编译器是否定义了UNICODE.看你上面的例子,应该没有定义,否则会报错的。如果你用VS2008则一定会报错。所以建议使用TCHAR代替char:
TCHAR* a="aaaaaaaa";
CString b= TEXT("aaaaaaa");
这样无论,是否定义了UNICODE都可以!
TCHAR* a="aaaaaaaa";
CString b= TEXT("aaaaaaa");
这样无论,是否定义了UNICODE都可以!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般情况下要这样用:
char* a="aaaaaaaa";
CString b(a);
char* a="aaaaaaaa";
CString b(a);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义里的8应改成9
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询