01/10/2018, 15:57

Code C++ không thể dùng strcpy trong VS 2017

Chào mọi người, đây là lỗi mình gặp khi sử dụng strcpy trong C++, mình đã set

, ctrl + shift + B không hiện lỗi, nhưng F5 thì không chạy được ạ.

N.T.H viết 18:03 ngày 01/10/2018

Là mình thêm cái này vào, bên trên mình ghi sai ạ

X viết 17:59 ngày 01/10/2018

Thì cứ sửa theo như nó hướng dẫn xem sao?


[image] 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

N.T.H viết 18:12 ngày 01/10/2018

Vẫn không được nha bạn ơi, mình thữ include string.h vào rồi vẫn không được

Văn Dương viết 18:03 ngày 01/10/2018

Nó bảo là strcpy là không an toàn. Hãy dùng strcpy_s đi.

N.T.H viết 18:07 ngày 01/10/2018

Vâng, mình cũng biết thế, strcpy_s cần truyền vào 3 tham số, mình đã sửa cho phù hợp, vẫn không được nha b

viết 18:01 ngày 01/10/2018

vậy thì viết 1 cái for loop luôn cho rồi =)

for (int i = 0; i <= len && (pCh[i++] = *s++));
pCh[len] = '\0';

edit: mà đã cấp phát đủ strlen(s) + 1 cho pCh rồi thì khỏi cần copy kiểu strcpy_s đó, xài strcpy luôn:

for (auto p = pCh; (*p++ = *s++); );

hoặc tốt hơn là xài memcpy: vì spCh có kích cỡ như nhau:

memcpy(pCh, s, len + 1);
Văn Dương viết 18:09 ngày 01/10/2018

Ờ mình toàn dùng memcpy với wmemcpy.

N.T.H viết 18:10 ngày 01/10/2018

Cảm ơn anh nhiều ạ, nhưng cái này dài và phức tạp quá nhỉ

rogp10 viết 18:08 ngày 01/10/2018

Vì vậy bạn không nên dùng VS mà compiler nó cũng đâu hỗ trợ C++ đầy đủ đâu, và IDE ngon thì có cái free hẳn luôn ấy.

明玉 viết 17:57 ngày 01/10/2018

Bạn thêm kiểu gì chứ mình làm thế hoài, chạy bình thường có sao đâu?
Visual Studio là một IDE rất tốt, bản Community là miễn phí. Đến giờ thứ duy nhất mình phàn nàn về nó là cái compiler của nó quá khó để dùng trong command line.

viết 17:58 ngày 01/10/2018

Bạn thử cách này nha: Project --> Properties --> C/C++ --> Advanced --> Disable Specific Warnings --> Thêm 4996 --> OK.

Vương Hoàng viết 17:59 ngày 01/10/2018

Bạn thêm “#pragma warning (disable : 4996)” ở dươi muc khai báo thư viện xem sao.

Bài liên quan
0