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

question-closed C++, zapis informacji do pliku (lekcja z książki C++ Szkoła Programowania). Niezgodność...

VPS Starter Arubacloud
0 głosów
232 wizyt
pytanie zadane 6 lutego 2018 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)
zamknięte 6 lutego 2018 przez Jakub 0

Witam, myślę że temat już w sporej części określa pytanie, może pokaże fragment z podrozdziału książki o współpracy z plikami:

Pisze tam że metoda open() wymaga podania parametru łańcuchowego w konwencji C

Wobec tego taki kod powinien być błędny:

const std::string fileName = "file.txt";

int main(){

	std::ofstream file;
    file.open(fileName);

	file << "Tekst do pliku" <<std::endl;

	file.close();

	return 0;
}

To dlatego że łańcuch fileName jest typu string. Jednak wszystko mi poprawnie działa. Korzystam z Visual'a (wspierany c++17). Czy z czasem to w cpp zmieniono czy moja implementacja jest wyjątkiem? Dziękuje za pomoc i pozdrawiam.

komentarz zamknięcia: już wiem

3 odpowiedzi

+3 głosów
odpowiedź 6 lutego 2018 przez mokrowski Mędrzec (156,220 p.)
wybrane 6 lutego 2018 przez Jakub 0
 
Najlepsza
http://en.cppreference.com/w/cpp/io/basic_fstream/open

Jak widzisz do C++11 obowiązywało (1). W C++11 dodano (3) a w C++17 dodano (2) i (4).
komentarz 6 lutego 2018 przez Jakub 0 Pasjonat (23,120 p.)
Dziękuje za źródło, ja na razie tak średnio umiem poszukiwać rzeczy w dokumentacji :)
+1 głos
odpowiedź 6 lutego 2018 przez Patrycjerz Mędrzec (192,320 p.)
Metoda open klasy std::ofstream (jak i podobnych jej) posiada wersję przyjmującą obiekt klasy std::string od wersji języka C++11. Wcześniej dostępny był jedynie parametr w postaci tablicy znaków.
+1 głos
odpowiedź 6 lutego 2018 przez Arkadiusz Sikorski Pasjonat (20,160 p.)
Nie pamiętam z kiedy jest ta książka, ale w standardowej bibliotece zdefiniowane są jeszcze inne wersje funkcji open.

http://en.cppreference.com/w/cpp/io/basic_ofstream/open
komentarz 6 lutego 2018 przez Jakub 0 Pasjonat (23,120 p.)
To dziwne bo książka dotyczy c++11, już w pierwszym rozdziale o wypisywaniu tekstu na ekran za pomocą cout mówi o klasach, obiektach, przeciążeniach i ogólnie oop... A tu milczy.

Podobne pytania

0 głosów
1 odpowiedź 227 wizyt

92,782 zapytań

141,712 odpowiedzi

320,600 komentarzy

62,114 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.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...