Własna nazwa pliku w fstream

Własna nazwa pliku w fstream
K2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Witam. Jako iż jestem nowy na tym forum, chciałem wszystkich powitać.
Ok, do rzeczy.
C ++ zaczynam dopiero rozgryzać, dużo rzeczy jest dla mnie nowych, wiele jeszcze nie ogarniam.

Piszę program spełniający rolę notatnika.

Chce, aby w cin >> nazwa_pliku; można było podać nazwę pliku pod jaką ma się zapisać, jednak nie potrafię tego zrobić.
Dołączam fragment kodu :

Kopiuj
cin >> nazwa_pliku;
				   		fstream plik( "(tu ma być nazwa pliku ktora wpisalem w programie).txt",ios::out); 

Serdecznie proszę o pomoc :)

QU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 23
1
Kopiuj
 
	char cFileName[30];
	char cStr[] = ".txt";

	cin >> cFileName;

	strncat(cFileName, cStr, 30);
	fstream plik(cFileName, ios::out); 
byku_guzio
  • Rejestracja: dni
  • Ostatnio: dni
0

Lepiej jest użyć string zamiast c-stringu, ewentualnie char cFileName[MAX_PATH]; - 29 znaków to trochę mało

xeo545x39
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kosmos
  • Postów: 1571
1

Nie lepiej tak?

Kopiuj
fstream plik;
string nazwa;
cin >> nazwa;
nazwa += ".txt";
fstream.open(nazwa.c_str(), fstream::out);
K2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Bardzo dziekuję wszystkim. Użyłem pierwszego sposobu, wszystko działa dobrze ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.