C/C++ ポインタ入門 > 文字列関数 > pop_front
Nobuhide Tsuda
Nov-2013
文字列先頭の文字を削除:char my_pop_front(char *str)
char my_pop_front(char *str)
{
char c = *str;
if( c != '\0' ) { // str が指しているのが空文字列でない場合
while( (*str = *(str+1)) != '\0' ) { // ヌル文字('\0')までひとつ前にずらす
++str; // ポインタを前に進める
}
}
return c; // 最初の文字を返す
}
解説:
- はじめに、関数が返す値として最初の文字を c に保存します。
- 最初の文字がヌル文字('\0')の場合は、何もする必要がありません。c を関数の値として返すだけです。
- 最初の文字がヌル文字('\0')でない場合は、while 文で文字列の文字を1文字ずつ前にずらします。
前:
| 次: