예제 코드
#include <stdio.h> #include <string.h> void left_shift_string ( char data[] ) { int len = strlen(data); // left_shift 를 할 수 없는 경우... if ( len ==0 ) return; // data+1 위치부터 (len-1) 개의 문자열을 data 로 이동합니다. // 즉 data 가 "Hello" 라는문자열이라고 가정하면 // 이동 전에는 배열이 [H] [e] [l] [l] [o] 와 같이 되지만. // 이동 후에는 배열이 [e] [l] [l] [o] [o] 와 같이 됩니다. // ello 부분이 왼쪽으로 이동했지요. ^^ // 마지막에 있는 [o] 는 그 다음 코드에서 NULL 로 바뀌게 됩니다. memmove( data, data+1, len-1 ); // 또는 memcpy ( data, data+1, len-1 ); data[ len-1 ] = '\0'; } main() { char data[] = { "Hello" }; left_shift_string ( data ); printf("%s\n", data ); // ello 출력 left_shift_string ( data ); printf("%s\n", data ); // llo 출력 }