【发布时间】:2013-03-05 09:02:32
【问题描述】:
当我运行它时,我没有收到任何错误,但字符串没有连接起来。有人可以告诉我这里哪里出错了。
char *con(const char str[], int n) {
char * t = new char[60];
int l = strlen(str);
t[l] = '\0';
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';
然后程序崩溃了。
【问题讨论】:
-
发明
std::string是有原因的。 -
什么是
s?我没有看到它在任何地方定义。它是空终止的吗? -
抱歉修复了 s,忘记了 tr
-
真的,帮自己一个忙,要么 1) 将 C++ 标签替换为 C 标签,要么 2) 使用
std::string并享受编写 C++ 的乐趣 -
n参数指定了什么?
标签: c++ concatenation cstring