[C言語]文字列の末尾の文字を削除するには?

C言語

どうも、ちょげ(@chogetarou)です。

文字列(string)の最後の文字を削除する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

文字列(string)の末尾の文字を削除するには、文字数を使います。

まず、文字列の文字数を「-1」した値を取得します。
(文字列の末尾のインデックスを取得)

そして、文字列の取得した値のインデックスの要素に「'\0'」を代入します。

//text=対象の文字列
int lastIndex = strlen(text) - 1; //末尾のインデックスを取得
text[lastIndex] = '\0'; //末尾を削除

上記の代入は、文字列の末尾の文字を削除します。

上記のコードを1行で書く場合は、次のようになります。

//1行で書く場合
text[strlen(text) - 1] = '\0';

使用例

#include <stdio.h>
#include <string.h>

int main(void){
    char text[] = "Hello,World";
    
    int lastIndex = strlen(text) - 1;
    text[lastIndex] = '\0';
    
    printf("%s", text);
    
    return 0;
}
出力:
Hello,Worl

コメント

タイトルとURLをコピーしました