m_BufferChars是char*的字符指针,在读取文件时赋值。
char* a;
在构造函数中初始化a=NULL;
下面要将m_BufferChars复制到a中,在相关函数中定义:
int BufferSize=strlen(m_BufferChars);
if (strcpy_s(a,BufferSize,m_BufferChars)==0)
{
    AfxMessageBox(_T("ok"));
}
为什么赋值不成功?
而改用char a[80]的字符数组,然后用可以赋值成功?
if (strcpy_s(a,m_BufferChars)==0)
{
    AfxMessageBox(_T("ok"));
}
第一个赋值应该怎么改呢?
谢谢~

解决方案 »

  1.   

    a=NULL,当然不能用了a = new char[80]
    析构时不要忘了 delete a;
      

  2.   

    char* a; 声明a是一个指针, 它指针变量, 指针向某个地址.但你没有分配内存.
    char a[80];是一个数组,他可以丰放80个字符.这时的a就相当于80个字节的内存首地址!
    如果你用char* a = new char[80]的话就可以成功了!@
      

  3.   

    对哦,一定要定义长度么?
    可不可以a=new char;?
      

  4.   

    a=new char相当于a = new char[1]