標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
ISO C |
両方 |
#include <string.h>
char *strncat(char * __restrict__string1, const char * __restrict__string2, size_t count);
strncat() 組み込み関数は、string2 の 最初の count 文字を string1 に付加し、結果のストリングを NULL 文字 (¥0) で終了します。count が string2 の長さより大きい場合には、strncat() は、string2 の最大長のみを string1 に付加します。付加ストリングの先頭文字により、string1 で示される ストリングの終了 NULL 文字が上書きされます。
オーバーラップするオブジェクトの間でコピーが行われる場合、動作は未定義です。
strncat() は、連結ストリングからなる値 string1 を戻します。
⁄* CELEBS44
This example demonstrates the difference between &strcat. and
&strncat..
&strcat. appends the entire second string to the first,
whereas &strncat. appends only the specified number of
characters in the second string to the first.
*⁄
#include <stdio.h>
#include <string.h>
#define SIZE 40
int main(void)
{
char buffer1[SIZE] = "computer";
char * ptr;
⁄* Call strcat with buffer1 and " program" *⁄
ptr = strcat( buffer1, " program" );
printf( "strcat : buffer1 = ¥"%s¥"¥n", buffer1 );
⁄* Reset buffer1 to contain just the string "computer" again *⁄
memset( buffer1, '¥0', sizeof( buffer1 ));
ptr = strcpy( buffer1, "computer" );
⁄* Call strncat with buffer1 and " program" *⁄
ptr = strncat( buffer1, " program", 3 );
printf( "strncat: buffer1 = ¥"%s¥"¥n", buffer1 );
}
strcat : buffer1 = "computer program"
strncat: buffer1 = "computer pr"