CString 和 char* 的区别
#include <afx.h>#include <stdio.h>
int main()
{
char *s1 = "2o3i4jiojrewjeroiksopf";
for(int i1=0;s1[i1]!=0;i1++)
printf("%c",s1[i1]);
printf("\n");
return 0;
}
使用以上代码时一切正常(编译欲行也正常)
#include <afx.h>
#include <stdio.h>
int main()
{
char *s1 = "2o3i4jiojrewjeroiksopf";
for(int i1=0;s1[i1]!=0;i1++)
printf("%c",s1[i1]);
printf("\n");
CString s2 = "2o3i4jiojrewjeroiksopf";
for(int i2=0;s2[i2]!=0;i2++)
printf("%c",s2[i2]);
printf("\n");
return 0;
}
但是使用上面的代码时编译也是 0错误,0警告
而运行时出现错误(如附图)
显然 CString 和 char* 存在很明显的区别,但是现在还没有搞清楚,希望大家一起讨论下.