C++使用strcpy函数时编译器报错

//这是报错代码
#include<bits/stdc++.h>
using namespace std;

int main()
{
    char ch[20] = "character string";
    const char* ch1 = "character";
    char* ps;
    cout << ch << "and";
    cout << ch1 << endl;
    cout << "Enter:";
    cin >> ch;
    ps = ch;
    cout << ps << "!\n";
    cout << "Before using strcpy():\n";
    cout << ch << "at" << (int*)ps << endl;
    //开辟内存
    ps = new char[strlen(ch) + 1];      
    strcpy(ps, ch);
    cout << "After using strcpy():\n";
    cout << ps << "at" << (int*)ps << endl;
    //释放内存
    delete [] ps;
    return 0;
}
编译器的错误提示

img

在头文件后面使用

#pragma warning( disable : 4996)

是不是就可以了

C++中strcpy()函数和strcpy_s()函数的使用及注意事项_清水河C罗——Leonardo-Liu-CSDN博客_strcpy_s 在编写C++程序时,不可避免会遇到strcpy()函数和其安全版本strcpy_s()函数,其实之所以会推出_s版本的函数,就是为了使编程更加安全,然而为了保证安全,也就会更容易使我们编写的代码“被报错”。所以这里来简略说一下strcpy()函数和strcpy_s()函数的使用及注意事项。首先,我们知道原函数strcpy()函数和安全版本strcpy_s()函数都是存在于头文件&lt;cstr... https://blog.csdn.net/leowinbow/article/details/82380252

提示你用安全函数,strcpy是非安全函数
你换成strcpy_s就行了,自己百度用法,很简单