不能将char *属性上的memcpy用作目标 - visual c ++

时间:2014-01-16 20:44:26

标签: visual-c++ memcpy

我在 appPOSWebDlg.cpp 中有以下代码:

#include "stdafx.h"
#include "afx.h"
#include <stdlib.h>
#include <Ras.h>
...

//Attribute
char            *site;
...

// Method
int readFile() {

    char * aux;
    int result;

    result = readParameter(hFile, aux);
    if (result == 0) {
        memcpy(site, aux, 256);
    } else {
        return 1;
    }
    return 0;
}

但程序停在 memcpy 行,我不知道为什么。调试后,我可以确认正在使用期望值正确分配aux参数。此外,我甚至使用 readParameter 方法中的 memcpy 来分配它并且没有问题。那么为什么我不能使用相同的方法将该值分配给属性 site

1 个答案:

答案 0 :(得分:1)

您的“网站”指针无效。您已将其定义为指针,但是没有为其分配任何空间,因此,您的复制命令覆盖了一些代码。完成后,您需要通过执行“新建”和“删除”来正确分配指针。