どうも、ちょげ(@chogetarou)です。
文字列(string)の末尾からN文字を削除する方法を紹介します。
方法

文字列(string)の後ろからN文字を削除するには、文字数を使います。
まず、文字列の文字数を「-N」した値を取得します。
そして、文字列の取得した値のインデックスの要素に「'\0'
」を代入します。
//text=対象の文字列, N=削除する文字数
int index = strlen(text) - N;
text[index] = '\0'; //後ろからN文字を削除
上記の代入は、文字列の後ろからN文字を削除します。
使用例
#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
コメント