c++ - 连接 cstrings C++

  显示原文与译文双语对照的内容
0 0

运行这里命令时,没有错误,但字符串未被连接。 谁能告诉我这里有什么错误。


char *con(const char str[], int n) {
 char * t = new char[60];
 int l = strlen(str);
 t[l] = '';
 if (n <= 0) {
 return t;
 } else {
 for (int i = 0; i <n; i++) {
 strcat(t, str);
 }
 return t;
 }
}

如果我尝试取出:


int l = strlen(str);
t[l] = '';

然后程序崩溃。

时间: 原作者:

0 0

你必须从空字符串开始。

替换:


int l = strlen(str);
t[l] = '';

使用:

 
t[0] = '';

 

现在 str 将在 t 中连接 n 时间。

最初的代码在 t 中保留第一个 l-1 字符未初始化。

原作者:
...