01/10/2018, 09:09
Tại sao dùng strcpy sai mà strcpy_s lại đúng?
Em có thử 2 trường hợp này , em không hiểu tại sao trường hợp strcpy(p,ppt) lại sai mà cái kia lại đúng . Em cảm ơn a/c giải thích giúp e
Bài liên quan
cái này do ide vs nó vậy thôi bạn à!
strcpy
vàstrcpy_s
chung chức năng nhưng cú pháp khác nhau nha bạn. Không nên đặt tiêu đề như vậy.char *strcpy(char *dest, const char *src);
: copy từ ‘src’ và ‘dest’, hơi nguy hiểm nếu bạn không cẩn thận thì sẽ dễ gây lỗi crash chương trình nếu ‘dest’ < ‘src’.errno_t strcpy_s(char *dest, size_t n, const char *src);
: Copy không quá n phần tử từ ‘src’ sang ‘dest’.Bạn tham khảo thêm: cplusplus, Microsoft MSDN.
Bạn ơi, theo mình biết thì khi khái báo char *p = “xin chao” thì máy nó sẽ tạo một vùng nhớ trong stack lưu cái chuỗi này vào và con trỏ p sẽ trỏ vào vùng nhớ ấy, và vùng nhớ này CHỈ CÓ THỂ ĐỌC, tức là nếu bạn gán cho biến khác hoặc là in nó ra màn hình thì được nhưng không được phép thay đổi nội dung hay kích thước của nó