Błąd w funkcji z tablicą - co należy zmienić?

0

Witam.
Uczę się C++ na podstawie "Symfonii C++" i w dziale związanym z tablicami, podczas kompilowania kodu wyskakuje błąd w linijce:

#include <iostream>
#include <string>
using namespace std;
main()
{
	char tekst[] = { "Uwaga, tarcza zostala przepalona !" };
	char komunikat[120];
		strcpy(komunikat, tekst);  //// ---- TUTAJ BŁĄD
		cout << komunikat << endl;
		
		strncpy(kominukat, "1234567890abcdef", 9);
		cout << komunikat;
		
		strcpy(komunikat, "--A ku-ku --!");
		cout << "\n Na koniec: " << komunikat<< endl;
	
	
}
void strcpy(char cel[], char zrodlo[])
{
	for(int i = 0; ;i++)
	{
		cel[i] = zrodlo[i];
		if(cel[1] == NULL) break;
	}
}

Być może coś przeoczyłem, ale sam nie mogę sobie poradzić.

1

przed main musisz zrobic

void strcpy(char cel[], char zrodlo[]);

deklarujesz ze gdzies dalej jest definicja funkcji. Deklaracja musi byc znana w momencie uzywania (zmienna, funkcja, klasa)

0

Zrobiłem już tak wcześniej i też wywalało mi błąd, ale nie zauważyłem, że w innym miejscu(przez zły plik nagłówkowy). Także dziękować :)
Program teraz wygląda tak:

#include <iostream>
#include <string.h>
using namespace std;
void strcpy(char cel[], char zrodlo[]);

main()
{
	char tekst[] = { "Uwaga, tarcza zostala przepalona !" };
	char komunikat[120];
		strcpy(komunikat, tekst);
		cout << komunikat << endl;
		
		strncpy(komunikat, "1234567890abcdef", 9);
		cout << komunikat;
		
		strcpy(komunikat, "--A ku-ku --!");
		cout << "\n Na koniec: " << komunikat<< endl;
	
	
}
void strcpy(char cel[], char zrodlo[])
{
	for(int i = 0; ;i++)
	{
		cel[i] = zrodlo[i];
		if(cel[1] == NULL) break;
	}
}

Uruchamia się, ale po chwili wylatuje komunikat, że program przestał działać.

1
if(cel[1] == NULL) break;

powiedz mi czy powinno byc 1 czy i ? Dlatego nazywaj lepiej zmienne, nawet te w petli

0

Ahh. Wiedziałem ,że coś przeoczyłem. Masz rację, wszystko ładnie działa. Wystarczyło "1" zamienić na "i" . Postaram się w przyszłości zwracać na to większą uwagę.
Jeszcze raz dzięki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1