ما الذي لا أفهمه حول استخدام 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