我正在尝试创建一个函数,在数组的每个字符串中放置class DummyController: UIViewController {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: reuseIdentifier) as? CustomCell else {return UITableViewCell()}
cell.bugFixDelegate = self
}
}
extension DummyController: BugFixDelegate {
//do all the missing stuff that was supposed to happen automatically
func editingEnded(cell: UITableViewCell) {
guard let indexPath = self.tableView.indexPath(for: cell) else {return}
self.tableView.setEditing(false, animated: false)
self.tableView.delegate?.tableView?(tableView, didEndEditingRowAt: indexPath)
}
}
个字符,以将它们填充为'.'
个字符。
并且它工作正常,除了我不能使用strcpy和指针将n
sting复制到数组中的字符串。
代码是:
tmp
所以它运行良好(连接两个字符串),直到void foo (char **t, int count, int n) {
int max = 0, i, j;
char *tmp;
for (i = 0; i < count; i++) {
if (max < strlen (t[i])) max = strlen (t[i]);
}
if (max > n) return;
for (i = 0; i < count; i++) {
int diff = n - strlen (t[i]);
tmp = (char *) malloc (diff * (sizeof (char) * n + 2));
for (j = 0; j < diff; j++) {
tmp [j] = '.';
}
tmp [j] = '\0';
strcat (tmp,t[i]);
t[i] = (char *) realloc (t[i], strlen (tmp) + 10);
strcpy (t[i], tmp);
//*(t + i) = *tmp; <- I tried this method too
free (tmp);
}
}
命令。
我做错了什么?
(我知道,我保留了不必要的大空间,我确实这样做。)
我使用它的strcpy (t[i], tmp);
函数是:
main ()
它没有编译错误,也没有警告。
运行时崩溃,并返回-1073741819(0xC0000005),不打印任何内容。
我正在使用CodeBlocks。