Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Hàm strcpy() trong C/C++

Hàm strcpy() sao chép chuỗi nguồn vào chuỗi đích. Khai báo trong <string.h> (C) hoặc <cstring> (C++). Trả về con trỏ đến chuỗi đích.

Cú pháp

char* strcpy(char* dest, const char* src);

Điểm quan trọng

  • Sao chép toàn bộ chuỗi kể cả ký tự null kết thúc.
  • Ghi đè hoàn toàn chuỗi đích (không nối thêm).
  • Không thay đổi chuỗi nguồn.
  • Không kiểm tra tràn bộ nhớ — đích phải đủ lớn.

Ví dụ

#include <stdio.h>
#include <string.h>
int main() {
    char s1[20] = "Hello world!";
    char s2[] = "Welcome";
    printf("s1 truoc: %s\n", s1);
    strcpy(s1, s2);
    printf("s1 sau: %s\n", s1);
    printf("s2: %s\n", s2);
    return 0;
}

Kết quả

s1 truoc: Hello world!
s1 sau: Welcome
s2: Welcome

An toàn hơn: Dùng strncpy(dest, src, n) để giới hạn số ký tự sao chép, hoặc strlcpy (BSD) / strcpy_s (C11 Annex K). Luôn đảm bảo buffer đích đủ lớn.