[C言語]文字列の後ろからN文字を削除するには?

C言語

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

文字列(string)の末尾からN文字を削除する方法を紹介します。

スポンサーリンク

方法

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

文字列(string)の後ろからN文字を削除するには、文字数を使います。

まず、文字列の文字数を「-N」した値を取得します。

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

//text=対象の文字列, N=削除する文字数
int index = strlen(text) - N;
text[index] = '\0'; //後ろからN文字を削除

上記の代入は、文字列の後ろからN文字を削除します。

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

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

使用例

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

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

コメント

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