I was trying to get an element deleted from the middle of array and then shiffting the whole content, and I had a few difficulties because my test array wasn't "right". I fixed the problem by filling the array with a string using strcpy. The commented part above strcpy is the method I used before(which didn't work). Could somebody explain me maybe why isn't it working?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
    char *array;
    int i=5;
    array = (char*)calloc(1024, sizeof(char));
    if(array == NULL){
        printf("Out of memory\n");
        return 0;
    }
    //array = "Just some test string";
    strcpy(array, "Just some test string");
    printf("%s\n", array);
    memmove(array+i+1, array+i, strlen(array)-i);
    array[i] = ',';
    printf("%s\n", array);
    memmove(array+i, array+i+1, strlen(array)-i);
    printf("%s\n", array);
    free(array);
return 0;
}
The printf is normally working on the commented part, but the memmove() makes my programm crash!
 
     
     
    