• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zapis pliku C++

Aruba Cloud - Virtual Private Server VPS
0 głosów
158 wizyt
pytanie zadane 14 września 2019 w C i C++ przez Jacob7 Użytkownik (540 p.)
#include <iostream>
#include <fstream> /*Biblioteka odpowiedzialna za prace z plikami, mozna dane zapisac do pliku*/
#include <string>

using namespace std;

int main()
{
	string imie, nazwisko;
	fstream wizytowka("F:\Programy w C++\wizytowka.txt"); /*Dalej jest kilka podfolderów żeby dostać sie do folderu z programem*/
	
	cout << "Imie: ";
	getline(cin, imie);
	cout << "Nazwisko: ";
	getline(cin, nazwisko);
	
	wizytowka.open("wizytowka.txt", ios::out | ios::app);

	wizytowka << imie << endl;
	wizytowka << nazwisko << endl;
	
	wizytowka.close();

	return 0;
}

Cześć. Mam dziwną zagwozdkę, nie mogę znaleźć jasnej odpowiedzi. Chodzi o to, że zapisując dane do pliku tekstowego program tworzy plik tekstowy w folderze z programem, a chciałbym żeby ten plik tekstowy był umieszczony w innym miejscu. Próbuje przy zmiennej fstream wizytowka dać inną ścieżkę dostępu ale to dalej nie działa i plik tekstowy tworzy sie w folderze w programem. Jak to zrobić, żeby zapisywał sie w innym folderze, który zechce wskazać?

2 odpowiedzi

+1 głos
odpowiedź 14 września 2019 przez tangarr Mędrzec (155,140 p.)
wybrane 15 września 2019 przez Jacob7
 
Najlepsza

W linii 10 próbujesz otworzyć plik w trybie read-write (ios_base::in | ios_base::out), jednak z powodu błędnej ścieżki nie udaje ci się to.
W linii 17 ponownie próbujesz otworzyć plik w trybie dopisywania do pliku. Tym razem ci się to udaje. Jednak plik jest tworzony względem katalogu roboczego.
Zdecyduj się tylko na jedną z tych linii. Podaj prawidłową ścieżkę. Znak backslash \ musisz wprowadzić jako \\. Na pewno otrzymałeś ostrzeżenie kompilatora na temat nieprawidłowych sekwencji znakowych w linii 10.
Dobrze by było gdybyś sprawdzał poprawność otwarcia pliku (fstream::is_open()).
Zawsze warto poczytać dokumentację klasy której się używa (np tutaj)

0 głosów
odpowiedź 14 września 2019 przez tkz Nałogowiec (42,020 p.)
#include <iostream>
#include <fstream>
#include <string>

int main(void)
{
    std::ofstream file("C:\\Users\\user\\Desktop\\nazwiska.txt");
    std::string name("ala");
    file<<name;

    return 0;
}

 

Podobne pytania

0 głosów
1 odpowiedź 433 wizyt
pytanie zadane 19 stycznia 2021 w C i C++ przez forvev Początkujący (390 p.)
0 głosów
1 odpowiedź 2,344 wizyt
pytanie zadane 20 marca 2019 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 349 wizyt

93,329 zapytań

142,323 odpowiedzi

322,400 komentarzy

62,662 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...