关于在Visual Studio 2010中使用strcpy(),我不明白什么?

时间:2012-05-19 18:43:06

标签: c++ visual-studio-2010 strcpy

#include <string.h>

sdi12CRC::sdi12CRC()
  {
    CRC = 0;
    responseToDCommandWithoutCRC = new char[MAX_D_COMMAND_RESPONSE_SIZE];
    responseToDCommandWithCRC = new char[MAX_D_COMMAND_RESPONSE_SIZE];
    asciiCRC = new char[ASCII_CRC_SIZE];
    strcpy(responseToDCommandWithoutCRC,"");
    strcpy(responseToDCommandWithCRC,"");
    strcpy(asciiCRC,"");
  }

上面是我使用Borland C ++ builder编写和测试的C ++程序的代码片段。有用。我现在正在学习Visual Studio 2010,所以我想我用过去的工作来帮助学习Visual Studio。

我在上面的代码中收到警告和错误,但上面的代码是合法的C ++代码。我在VS文档中找不到任何帮助来了解我做错了什么以及如何解决它。 (我不是说它不在文档中;只是说我找不到它。)

Warning 1   warning C4627: '#include <stdlib.h>': skipped when looking for precompiled header use

Error   4   error C3861: 'strcpy': identifier not found

这里给出了什么? string.h不是strcpy所需的标头吗?因此strcpy()应该编译。我不明白或不知道的是什么?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

问题是您将项目配置为使用预编译的标头,但您没有使用它们。只需调整项目设置即可使用预编译的标题。

答案 1 :(得分:1)

尝试明确添加#include <stdlib.h>,然后添加#include <string.h>