01/10/2018, 09:59

Cách sao chép mảng trong C?

tình hình mình không thực hành sao chép mảng được dù làm theo hướng dẫn, mọi người giúp mình cái lỗi sai với!
C code:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char* strcpy(char* coppyString, const char* stringCoppy);
int main(int argc, char* argv[])
{
    char string[] = "Text", coppy[100] = {0};

    strcpy(coppy, string);

    printf("string is: %s
",string);
    printf("coppy is: %s
",coppy);

    return 0;
}


char* strcpy(char* coppyString, const char* stringCoppy)
{
    coppyString = stringCoppy;
    return coppyString;
}
Khoa NTA viết 12:09 ngày 01/10/2018

Không biết cái tài liệu nào hướng dẫn bạn “coppy” như thế này? Hàm strcpy là hàm C chuẩn, bạn đặt trùng tên thì nó báo lỗi chứ sao nữa tìm tên khác đặt lại đi nè.

Cái bạn làm là gán địa chỉ vùng nhớ chứ không phải copy copy là “sao chép” và dữ liệu không bị ảnh hưởng lẫn nhau khi 1 trong 2 bên có giá trị thay đổi.
Nên chỉ có 1 cách duy nhất là gán giá trị từng phần tử 1 của chuỗi nguồn sang chuỗi đích. Phần này đã có topic (và đã được giải đáp), bạn hãy thử tìm kiếm nhé!

Bài liên quan
0