Чего я не понимаю в использовании strcpy() в Visual Studio 2010?

StackOverflow https://stackoverflow.com//questions/10667940

  •  11-12-2019
  •  | 
  •  

Вопрос

#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,"");
  }

Выше приведен фрагмент кода из программы на C++, которую я написал и протестировал некоторое время назад с помощью Borland C++ builder.Это работает.Сейчас я изучаю 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() должен скомпилироваться.Что же это такое, чего я не понимаю или о чем не знаю?

Мы будем очень признательны за любую помощь.

Это было полезно?

Решение

Проблема в том, что вы настроили проект для использования предложенных заголовков, но вы их не используете.Просто отрегулируйте настройки проекта, чтобы не использовать предварительнокомдационные заголовки.

Другие советы

Попробуйте явно добавить оба #include <stdlib.h> затем #include <string.h>

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top