Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

problem z strcpy

Ostatnio zmodyfikowano 2017-01-27 13:30
Autor Wiadomość
wiktorspl
Temat założony przez niniejszego użytkownika
problem z strcpy
» 2017-01-26 19:39:49
Otóż mamy taki kod:
C/C++
#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()
P-156980
karambaHZP
» 2017-01-26 19:43:30
Dodaj na początku
C/C++
#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*?
P-156981
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.
P-156988
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.
P-156990
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.
P-157015
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.
P-157021
« 1 »
  Strona 1 z 1