编程论坛's Archiver

vfdff 发表于 2008-4-14 20:53

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* 存在很明显的区别,但是现在还没有搞清楚,希望大家一起讨论下.

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.