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

Chương trình C sao chép chuỗi không dùng strcpy()


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