我必须编写一个程序,该程序采用字符串参数(例如“ abcd”)并返回新的字符串(例如“ a-bb-ccc-dddd”)。因此,对于字符串中的每个字符,请在新字符串中增加其重复次数。
在C#或Java之类的程序中,我只会使用StringBuilder,但在C中,我不确定如何检查字符串是否有足够的空间容纳新字符。如果没有,请重新分配。
char *str = malloc(strlen(source) * sizeof(char));
for (int i = 0; i <= strlen(source) - 1; i++)
(for int j = 0; j < i + 1; j++)
if (space_exists_in_string(source))
str[j] = source[i];
else {
str = realloc(str,strlen(str) * 2);
str[j] = source[i]
}
所以基本上,我正在寻找一种方法来检查是否(space_exists_in_string)。
谢谢