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


 

 

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

末尾の n 文字を削除:void my_erase_tail(char *str, int n)

#include <string.h>        // for strlen
void my_erase_tail(char *str, int n)
{
    const int len = strlen(str);
    if( n >= len ) {    // 削除文字数が、文字列 str の長さよりも大きい場合
        *str = '\0';
    } else {
        str[len - n] = '\0';       // 終端記号のヌル文字を削除位置に書き込む
    }
}

解説:

 


前: | 次: