예제 코드
#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 출력
}