Чего я не понимаю в использовании strcpy() в Visual Studio 2010?
-
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>