Phần này xem cách sao chép chuỗi sang chuỗi khác không dùng strcpy(). Có thể viết hàm riêng mô phỏng strcpy(), nhưng ở đây dùng thủ thuật. Dùng hàm thư viện khác sao chép chuỗi.
Logic đơn giản. Dùng sprintf(). Hàm này in giá trị/dòng vào chuỗi, không phải console. Khác biệt duy nhất với printf(). Tham số đầu là bộ đệm chuỗi lưu dữ liệu.
Đầu vào - Chuỗi "Hello World" Đầu ra - Sao chép chuỗi đó sang chuỗi khác. "Hello World"
Thuật toán
Bước 1: Nhận chuỗi Bước 2: Tạo bộ đệm chuỗi rỗng lưu kết quả Bước 3: Dùng sprintf() sao chép chuỗi Bước 4: Kết thúc
Ví dụ mã
#include<stdio.h>
main() {
char str[50]; // tạo chuỗi rỗng lưu chuỗi khác
char *myString = "Program to copy a String";
sprintf(str, "%s", myString); // dùng sprintf sao chép từ myString sang str
printf("Chuỗi là: %s", str);
}Kết quả:
Chuỗi là: Program to copy a String