注册 登录
编程论坛 C++ Builder

CString 和 char* 的区别

vfdff 发布于 2008-04-14 20:53, 1962 次点击
#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* 存在很明显的区别,但是现在还没有搞清楚,希望大家一起讨论下.
0 回复
1