字符数组 C 中的字符插入
Posted
技术标签:
【中文标题】字符数组 C 中的字符插入【英文标题】:Character Insertion in Character Array C 【发布时间】:2017-08-31 06:25:45 【问题描述】:我正在尝试在字符数组中插入一个特殊字符“-”并希望将其保存在另一个字符串中。要插入的字符是使用循环完成的。
输入:
actgagc
atgac
输出
actgagc
a-tga-c
在第二个字符数组中 - 被插入以代替缺失的字符。
程序在 JAVA 中使用简单的字符串连接函数完成,但无法为 C 语言进行字符插入。
Java 代码是:
while (k > 0 && l > 0)
if (condition 1)
r_string1 += string_1[k - 1];
r_string2 += string_2[l - 1];
k--;
l--;
else if (condition)
r_string1 += "-";
r_string2 += string_2[l - 1];
l--;
else
r_string1 += sring_1[k - 1];
r_string2 += "-";
k--;
在 C 语言中,我试图对字符数组中的字符插入做同样的事情。用strcat、memmov函数试过,没有结果。
【问题讨论】:
SO 不是人力转译服务。向我们展示您迄今为止在 C 中尝试过的内容。现在,您有一些 Java 伪代码,但您没有向我们展示您尝试在 C 中实现相同目标的内容。请阅读帮助部分了解什么是“好问题” 【参考方案1】:您需要为新字符串分配空间,所以不要忘记释放它...
char * f(char *s1, char * s2)
char *s3 = malloc(strlen(s2)+1);
char *ret = s3;
while (*s2)
if (*s1++ == *s2)
*s3 = *s2++;
else
*s3 = '-';
s3++;
*s3 = '\0';
return ret;
【讨论】:
以上是关于字符数组 C 中的字符插入的主要内容,如果未能解决你的问题,请参考以下文章