我有一个包含一些值的数组,例如。
ABCDEF
而我需要做的就是当我想要打印出例如前4个字符ABCD
时,我想打印出第一个字符前面的3个字符和最后一个字符后面的3个字符:{ {1}}正如你所看到的,---ABCDEF-
替换了char,因为它前面没有任何内容,这就是我想要做的事情。那些3 ---位于-3 -2 -1的位置但是当数组从0开始时我怎么能这样做呢?或者还有其他更简单的方法吗?并且在我要打印的那些4之后加上字符。
希望我解释得足够好。
以下是我现在所拥有的内容,与描述相同:
-
答案 0 :(得分:0)
#include <stdio.h>
#include <string.h>
int main() {
char original[16] = "ABCDEF";
char other[16] = {0};
size_t len = strlen(original);
memset(other, '-', len + 4);
memcpy(other + 3, original, len);
puts(other);
sprintf(other, "---%s-", original);
puts(other);
memmove(original + 3, original, len);//move to back + 3
memset(original, '-', 3);
original[len+3] = '-';
puts(original);
return 0;
}