Siema Mirki. Pytanie do #naukaprogramowania . Chce zrobic tablice charow, ktora bedzie przechowywala nazwe pliku do zapisu, np.
char nazwapliku[20];
cin>>nazwapliku;
ofstream plik(nazwa_pliku);
no i coś tam zapisuje do tego pliku. Czy da sie to jakos zrobic dynamiczną tablicą? Tzn. Nie podawać od razu jej rozmiaru, zeby mozna bylo wpisac downolą ilosc znakow? #c++
char nazwapliku[20];
cin>>nazwapliku;
ofstream plik(nazwa_pliku);
no i coś tam zapisuje do tego pliku. Czy da sie to jakos zrobic dynamiczną tablicą? Tzn. Nie podawać od razu jej rozmiaru, zeby mozna bylo wpisac downolą ilosc znakow? #c++
5
11
222
3333
44444
555555
Następnie funkcja ma wypisac elementy na ekranie oraz wpisac te elementy do istniejącej juz wcześniej w programie tablicy dynamicznej (po prostu tablica odczytana z pliku ma ją zastąpić). Jeśli robie to na pałe w mainie w ten sposob to wszystko dziala:
cin>>nazwa;
Użyj referencji na wskaźnik w ten sposób będziesz go w stanie zmodyfikować wewnątrz funkcji. A jeszcze przekaż wskaźnik jako wartość zwracaną przez funkcję. A najlepiej użyj jakiegoś kontenera i nie operuj na gołych wskaźnikach.
gdy wywołujesz funkcję w sposób odczyt(tablica), wartość wskaźnika(czyli jakiś adres) z tablica jest kopiowany do parametru tab, ale poza wartością początkową zmienna tab nie ma nic wspólnego ze zmienną tablica.
dlatego pierwsza zaproponowana przez ciebie wersja funkcji nie działała tak jak chciałeś.
Opcja 1:
zmieniając deklarację na: void odczyt(int *&tab) pierwsza wersja prawdopodobnie by