Visual Studio 不支持 C 语言中的 strcpy_s 函数

问题描述 投票:0回答:1

我是 C++ 新手,目前使用 Visual Studio 进行编码。我的

strcpy_s()
由于某种原因无法工作

#include<iostream>
#include<cstring>

int main(){
    char a[]="Hello World!";
    strcpy_s(a+6,"C++");
    std::cout<<a;
}

这个程序应该打印“Hello C++”,但它没有。

我尝试了其他编辑器(包括在线C++ IDE),这个问题已经解决。 Visual Studio 有没有办法解决这个问题?

谢谢!

c++ visual-studio error-handling c-strings strcpy
1个回答
0
投票

strcpy_s需要dest_size。如果源字符串和目标字符串重叠,则 strcpy_s 的行为未定义。

#include<iostream>

int main() {
    char a[] = "Hello World!";  
    strcpy_s(a + 6, strlen("C++")+1, "C++");
    std::cout << a;
}

可能的输出: 你好,C++

© www.soinside.com 2019 - 2024. All rights reserved.