C言語で文字列の特定部分をどのように抽出するか

C言語では、`strncpy()` 関数を利用して、文字列の一部分を切り出すことができます。

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

int main() {
    char str1[] = "Hello, World!";
    char str2[10];
    
    strncpy(str2, str1+7, 5);
    str2[5] = '\0';
    
    printf("截取的字符串为: %s\n", str2);
    
    return 0;
}

上記例では、strncpy() 関数を使用して、もとの文字列の 7 文字目から 5 文字を取得し、その取得した文字列を宛先の文字列にコピーしました。そして、宛先の文字列の最後に、ヌル文字を追加して、文字列がヌル文字で終わる有効な文字列であることを保証しました。

ネイティブに日本語で言い換えると、

截取的字符串为: World

strncpy() 関数は自動的に目標文字列の末尾にヌル文字を追加しない可能性があるので、手動で追加する必要があります。このため、目標文字列の長さは切り取った文字列とヌル文字の両方を収容するのに十分な長さであることを確認する必要があります。

bannerAds