Witam mam do zrobienia takie zadanie
Napisać i przetestować w programie własną funkcję void app(char *str2, char *str1) sklejającą odwrócony napis str1 do napisu str2. Przy testowaniu należy zadbać o to, żeby pod adresem wskazywanym przez str2 była zarezerwowana odpowiednia ilość pamięci do pomieszczenia obu napisów. Zastosowanie funkcji app mogłoby wyglądać następująco:
char *str1 = "ppC ", str2[20] = "Witaj";
cout << str2 << endl; // Witaj
app(str2, str1);
cout << str2 << endl; // Witaj Cpp
app(str2, "CJP ");
cout << str2 << endl; // Witaj Cpp PJC
Kod który napisałem wydaje mi się dobry jednak nie wykonuje ww zadania. Proszę o wytłumaczenie dlaczego mój program nie działa albo jeśli uważacie, że pomysł jest zły to proszę o wytłumaczenie jak najlepiej wykonać powyższe zadanie. A i jeszcze mam taką jedną prośbę. Czy znacie jakieś strony gdzie dobrze są wytłumaczone wskaźniki ponieważ łapię mniej więcej o co w tym chodzi ale nie do końca
#include <iostream>
#include<cstring>
using namespace std;
void app(char *str2, char *str1);
int main(){
char *str1 = "ppC ", str2[20] = "Witaj";
cout << str2 << endl; // Witaj
app(str2, str1);
cout << str2 << endl; // Witaj Cpp
app(str2, "CJP ");
cout << str2 << endl; // Witaj Cpp PJC
system("PAUSE");
}
void app(char *str2, char *str1){
while(*str2!='\0')
++str2;
int ile=0;
while(*str1!='\0'){
++str1;
++ile;
}
*str2= ' ';
++str2;
for(int i=ile; i>=0 ; --i){
*str2=*str1;
--str1;
++str2;
}
++(*str2)='\0';
}