我需要一个strcat_()的例子 你能给我举一个C++的例子吗?它在VisualStudio2019上工作

我需要一个strcat_()的例子 你能给我举一个C++的例子吗?它在VisualStudio2019上工作,c++,C++,我试过这个 char test_name[50]; char SQLQueryViewMARKS_12A[] = "SELECT *FROM Marks_12A WHERE Test_Name = "; cin>>test_name; strcat_s(SQLQueryViewMARKS_12A,sizeof(SQLQueryViewMARKS_12A),"'/0 "); strcat_s(SQLQueryViewMARKS_12A,sizeof(

我试过这个

  char test_name[50];
    char SQLQueryViewMARKS_12A[] = "SELECT *FROM Marks_12A WHERE Test_Name = ";
    cin>>test_name;
    strcat_s(SQLQueryViewMARKS_12A,sizeof(SQLQueryViewMARKS_12A),"'/0 ");
    strcat_s(SQLQueryViewMARKS_12A,sizeof(SQLQueryViewMARKS_12A),test_name);
    strcat_s(SQLQueryViewMARKS_12A,sizeof(SQLQueryViewMARKS_12A), "'/0");
预期结果是:

如果用户输入UT

查询必须连接到

char SQLQueryViewMARKS_12A[] = "SELECT *FROM Marks_12A WHERE Test_Name = ' UT ' ";

您的代码几乎正确。唯一缺少的是要连接到原始字符串的附加字符串的空间:

char SQLQueryViewMARKS_12A[128] = "SELECT *FROM Marks_12A WHERE Test_Name = ";
//                         ^^^
// Give your string more space to ensure that additional characters have place to fit
//
strcat_s(SQLQueryViewMARKS_12A,sizeof(SQLQueryViewMARKS_12A),"'/0 ");
<>注意,虽然 > StrCATIGS在C++中工作良好,但是<>代码>标准:C++标准库中的Stry::String 提供了一个更强大的替代方案:

std::string SQLQueryViewMARKS_12A = "SELECT *FROM Marks_12A WHERE Test_Name = ";
SQLQueryViewMARKS_12A += "'/0 ";

@ejendra Saradhi数组SQLQueryViewMARKS_12A中没有空间容纳附加的字符串。:“我试过了”-好吗?没用吗?如果您想了解此函数的用法示例,欢迎使用堆栈溢出!您的代码/问题非常模糊-您提供的信息越多,我们就越有可能帮助您!!作为一个
std::string
,您真的需要显式地在末尾添加空字符吗?接下来的空间是什么?我是不是太笨了?@Baldrickk它不是
\0
,而是
/0
。它直接来自OP的代码,以及结尾的空格。我当时很密集(我知道它在他们的代码中,但我将它误读为空值),但“/0”不在他们预期的输出中并没有帮助。。。我将其读取为手动空值,终止要连接的字符串。