ViVi Home > 技術文書 > ポインタ入門 > 文字列関数 > strleft


 

 

C/C++ ポインタ入門 > 文字列関数 > strleft
Nobuhide Tsuda
Nov-2013

文字列の先頭 n 文字複写:char *my_strleft(const char *src, int n)

char *my_strleft(const char *src, int n)
{
    n = std::min(n, (int)strlen(src));    //  src 文字数、n の小さい方を n に代入
    char *dst = new char[n + 1];   // メモリ確保
    for(int i = 0; i < n; ++i ) {
        *dst++ = *src++;       // 文字コピー
    }
    *dst = '\0';         // 終端記号のヌル文字を忘れずに
    return dst - n;    // dst は n だけ進んでいるので、n を引いたアドレスを返す
}

解説:

 


前: | 次: