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 を引いたアドレスを返す
}
解説:
前: | 次: