Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 关于strcpy_s函数_C++_String_Strcpy - Fatal编程技术网

C++ 关于strcpy_s函数

C++ 关于strcpy_s函数,c++,string,strcpy,C++,String,Strcpy,我想输出三个国家中第一个字母的最小字母,这是代码: #include<iostream> #include<string> using namespace std; int main() { void smallest_string(char str[][30], int); int i; char country_name[3][30]; for (i = 0; i < 3; i++) cin >> co

我想输出三个国家中第一个字母的最小字母,这是代码:

#include<iostream>
#include<string>
using namespace std;
int main()
{
    void smallest_string(char str[][30], int);
    int i;
    char country_name[3][30];
    for (i = 0; i < 3; i++)
        cin >> country_name[i];
    smallest_string(country_name, 3);
    system("pause");
}
void smallest_string(char str[][30], int n)
{
    int i;
    char string[30];
    ***strcpy_s(string, str[0]);***
    for (i = 0; i < n; i++)
        if (strcmp(str[i], string) < 0)
            strcpy_s(string, str[i]);
    cout << endl << "the smallest string is:" << string << endl;
}
#包括
#包括
使用名称空间std;
int main()
{
无效字符串(字符str[][30],int);
int i;
char country_name[3][30];
对于(i=0;i<3;i++)
cin>>国家名称[i];
最小字符串(国家/地区名称,3);
系统(“暂停”);
}
无效字符串(字符str[][30],整数n)
{
int i;
字符串[30];
***strcpy_s(string,str[0])***
对于(i=0;ii=1开始,则行
strcpy_s(string,str[0]);
是必不可少的


但是,由于它是从
i=0
开始的,因此如果还定义了以下开始条件,则不严格要求它:
string[0]==CHAR\u MAX
string[1]==0
。但如果不是这样,那么您将体验到未定义的行为。

当您删除该行时,您认为
string
中会有什么内容?(还有为什么您使用
char
数组而不是
std::string
?)似乎没有必要为string[30]的每个元素赋值你正在编写C++,所以使用<代码> STD::vector < /Cd>和:代码> STD::String < /C> >而不是原始代码的<代码> char []/COD> <代码> StrcPyys需要三个参数,而不是两个参数。