我有一个数组,其中有一些值。
ABCDEF我需要做的是,当我想打印出例如前4个字符时,我想打印3个字符,在第一个字符前面,在最后一个字符后面:ABCD如您所见,---ABCDEF-正在替换字符,因为前面什么都没有,这就是我要做的。那3--在位置-3-2-1,但是当数组从0变为0时,我该怎么做呢?或者还有其他更简单的方法吗?在我想打印的4个字符后面加上字符。
希望我解释得足够好。
这是我现在所拥有的,和描述中的一样:

printf("%d %c%c%c%s%c%c%c\n", h+1, pole[h-3], pole[h-2], pole[h-1], slovo, pole[h+dlzka], pole[h+dlzka+1], pole[h+dlzka+2]);

最佳答案

#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;
}

关于c - 在“负”位置填写数组值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27078873/

10-13 06:44