ViVi Home > 技術文書 > ポインタ入門 > 基礎演習問題> pop_nth


 

 

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

文字列先頭の文字を取り出す:char my_pop_nth(char *str, int n)

char my_pop_nth(char *str, int n)
{
    int len = strlen(str);
    if( n < 0 || n >= len ) {
        return '\0';      // n が範囲外の場合は、単に '\0' を返す
    }
    str += n;
    char c = *str;
    while( (*str = *(str+1)) != '\0' ) {     // ヌル文字('\0')までひとつ前にずらす
        ++str;         // ポインタを前に進める
    }
    return c;      // 最初の文字を返す
}

解説:

 


前: | 次: