problem z strcpy
Ostatnio zmodyfikowano 2017-01-27 13:30
wiktorspl Temat założony przez niniejszego użytkownika |
problem z strcpy » 2017-01-26 19:39:49 Otóż mamy taki kod: #include<iostream> #include<cstring> #include<string> using namespace std; int main() { char a[ 10 ] = "napis"; char b[ 10 ]; strcpy( a, b ); system( "PAUSE" ); return 0; }
i jest błąd C4496 zęby użyć _CRT_SECURE_NO_WARNINGS i błedu nie będie tylko próbowałem to usnąć według porad z oficjalnej strony visualstudio i żaden sposób nie działa u mnie. Więc mam pytanie czy da się to naprawić jeśli tak to jak jeśli nie czy istnieje jakaś alternatywa dla strcpy() |
|
karambaHZP |
» 2017-01-26 19:43:30 Dodaj na początku #define _CRT_SECURE_NO_WARNINGS
Zresztą kliknij w kod błędu, to visual przeniesie cię na stronę MSDN z opisem problemu. Masz dodany nagłówek <string> więc dlaczego nie korzystasz z std::string tylko z char*? |
|
wiktorspl Temat założony przez niniejszego użytkownika |
» 2017-01-26 20:14:36 wiem ale jednak chciałbym umieć tablice kopiować więc czy da się jakość prosto tablica skopiować nie używajać strcpy. |
|
pekfos |
» 2017-01-26 20:18:46 Jeśli to błąd, to wyłącz 'traktuj ostrzeżenia jak błędy', czy jakkolwiek jest to nazwane w Visualu. Chodzi tu tylko o to, że strcpy() nie sprawdza gdzie pisze, więc może być niebezpieczne. |
|
j23 |
» 2017-01-27 11:42:40 @wiktorspl, tak poza tym masz tam błąd: kopiujesz z b do a. b nie jest zainicjalizowana, więc istnieje ryzyko czytania/pisania poza tablicą. W umiarkowanym przypadku skopiujesz jakieś śmieci, w najgorszym - program Ci się wyłoży. |
|
wiktorspl Temat założony przez niniejszego użytkownika |
» 2017-01-27 13:30:00 dzięki j23 myślałem że się robi na odwrót że pierwszy argument to z którego kopiuję się a drugi do którego. |
|
« 1 » |