Program się uruchamia lecz po wczytaniu napisu zawiesza. Czy ktoś może mi powiedzieć dlaczego + czy jest jakiś krótsza metoda na zalokowanie pamięci dla wskaźnika char, jeżeli nie wiemy jaka będzie długość wpisanego tekstu przez użytkownika?
#include <iostream>
#include <cstdlib>
#include <ctime>
void wczytajNapis(char* wskaznik){
//tymczasowa tablica
char tymczasowa[100];
std::cin>>tymczasowa;
int i=0;
while(tymczasowa[i]!='\0'){
i++;
}
wskaznik = new char[i+1];
for(int j=0; j<i; j++){
wskaznik[j]=tymczasowa[j];
}
// uruchomione jest domyslnie usuwanie stworzonych tablic w funkcji przy wychodzeniu z niej
delete [] tymczasowa;
}
void wypiszNapis(char* wskaznik){
std::cout<<wskaznik;
}
int main(){
char *napis;
wczytajNapis(napis);
return 0;
}