strncat() — 스트링 연결

형식

#include <string.h>
char *strncat(char *string1, const char *string2, size_t count);

언어 레벨

ANSI

스레드세이프

설명

strncat() 함수는 string2의 처음 count자를 string1에 추가하고 널 문자(\0)로 결과 스트링을 종료합니다. countstring2 길이보다 크면 count 대신 string2 길이를 사용합니다.

strncat() 함수는 널로 끝나는 스트링에서 작동합니다. 함수에 대한 스트링 인수는 스트링 끝을 나타내는 널 문자(\0)를 포함해야 합니다.

리턴값

strncat() 함수는 결합된 스트링에 대한 포인터를 리턴합니다(string1).

이 예는 strcat()strncat() 사이의 차이를 보여줍니다. strcat() 함수는 전체 두 번째 스트링을 첫 번째에 추가하지만 strncat()은 두 번째 스트링의 지정된 문자 개수만 첫 번째에 추가합니다.
#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 );
}
 
/*****************  Output should be similar to:  *****************
 
strcat : buffer1 = "computer program"
strncat: buffer1 = "computer pr"
*/