strncpy() 함수는 소스에서 대상으로 지정된 수의 문자를 복사하는 데 사용됩니다.
다음은 strncpy()의 구문입니다
char *strncpy( char *destination, char *source, size_t n);
여기서, Destination은 원본 문자열이 복사될 대상 배열에 대한 포인터이고, source는 복사할 문자열, n은 복사할 문자열입니다. . 복사할 최대 문자 수입니다.
strncpy() 함수는 소스 문자열의 처음 n자에 NULL 문자가 없으면 대상 문자열이 NULL로 끝나지 않기 때문에 안전하지 않습니다.
다음은 C++의 strncpy() 함수를 보여주는 프로그램입니다.
온라인 데모
#include <iostream> #include <cstring> using namespace std; int main () { char source[20] = "This is a string"; char dest[20]; strncpy(dest, source, 4); cout << "The destination string is: " << dest; return 0; }
위 프로그램의 출력은 다음과 같습니다.
The destination string is: This
이제 위 프로그램을 이해해 봅시다.
소스 문자열에는 "This is a string"이라는 데이터가 포함되어 있습니다. 그런 다음 strncpy()를 사용하여 처음 4자를 대상 문자열에 복사합니다. 그런 다음 대상 문자열의 내용을 인쇄합니다. 이를 보여주는 코드 조각은 아래와 같습니다.
rreee위 내용은 C/C++의 strncpy가 안전하지 않다고 생각하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!