http://ideone.com/6yK6Nu


코드 얼핏 봤던 기억에 모자라는 영역은 공백으로 채웠던것 같아서 내 스타일은 아니지만 비슷하게 해 뒀다.


#include <stdio.h>

#include <stdlib.h> // malloc


char* substr( const char* str, size_t index, size_t length )

{

    int i;

    char* temp = (char*)malloc( length + 1 );

    const char* s = str + index;

    for( i = 0; i < length && s[ i ]; ++i )

        temp[ i ] = s[ i ];

    for( ; i < length; ++i ) temp[ i ] = ' ';

    temp[ length ] = 0;

    return  temp;

}


int main()

{

    char* str;

    puts( str = substr( "hello world", 6, 3 ) );

    free( str );


    puts( str = substr( "hello world", 6, 10 ) );

    free( str );


    return 0;

}


몇 만년 만의 c style 인지.