strncat() - ストリングの連結

標準

標準/拡張機能 C/C++ 依存項目

ISO C
POSIX.1
XPG4
XPG4.2
C99
Single UNIX Specification、バージョン 3

両方  

形式

#include <string.h>

char *strncat(char * __restrict__string1, const char * __restrict__string2, size_t count);

機能説明

strncat() 組み込み関数は、string2 の 最初の count 文字を string1 に付加し、結果のストリングを NULL 文字 (¥0) で終了します。countstring2 の長さより大きい場合には、strncat() は、string2 の最大長のみを string1 に付加します。付加ストリングの先頭文字により、string1 で示される ストリングの終了 NULL 文字が上書きされます。

オーバーラップするオブジェクトの間でコピーが行われる場合、動作は未定義です。

戻り値

strncat() は、連結ストリングからなる値 string1 を戻します。

CELEBS44
⁄* 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"

関連情報