[C言語]strcpy()で文字列の後ろからN文字を取得するには?

C言語

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

strcpy()を使って文字列(string)の後ろからN文字を取得する方法を紹介します。

スポンサーリンク

方法

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

strcpy()を使って文字列(string)の後ろからN文字を取得するには、文字数を使います。

まず、文字列の変数を用意します。

また、文字列の文字数を「N」で引いた位置を取得します。

次に、strcpy()を呼び出します。

そして、strcpy()の第1引数に用意した変数、第2引数に「対象の文字列に取得した位置を足した値」を指定します。

//text=対象の文字列, N=取得する文字数
int length = strlen(text); //文字列の文字数
int position = length - N; //位置
char result[N + 1];
strcpy(result, text + position);

上記のstrcpy()は、用意した変数に対象の文字列の後ろからN文字を格納します。

使用例

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

int main(void){
    char text[] = "Hello,World";
    
    int length = strlen(text);
    int N = 5;
    int position = length - N;
    
    char result[N + 1];
    strcpy(result, text + position);
    
    printf("%s", result);
    
    return 0;
}
出力:
World

コメント

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