不能在字符 * 属性上使用 memcpy 作为目标 - Visual C++



我在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来分配它,并且没有问题。那么,为什么我不能使用相同的方法将该值分配给属性站点呢?

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

相关内容

最新更新