Ładny brzuch

Witam
napisaem sobie takie co:

#include <iostream> #include <fstream> #include <string> using namespace std; void main () { string ch; char litera; ofstream outfile("test.txt"); cout << "Podaj jakis ciag znakow" << endl; cin >> ch; for(int i=0;i<ch.size();i++) { litera = ch[i]; outfile.put(litera); } outfile.close(); }

Wszytko dziaa do kiedy napisze np tak:


To jest jakis tekst wtedy zapisuje si tylko:


To

czyli do momentu kiedy skrypt napotka spacj :(

Co mam z tym zrobi?



:o we meen jakis kurs C++ od podstaw.

while (1) { cin >> ch; outfile << ch; }

dobra dziaa jest fajnie ale i tak nie dziaa jedna rzecz

kod main.cpp:
#include <fstream> #include <string> #include <iostream> #include <conio.h> #include "zapis.h" using namespace std; void main () { string ch; ch = "jakis tekst ktory chce zapisac do pliku :)"; zapis("mojplik.txt", ch); getch(); }

kod zapis.h:
#include <string> #include <fstream> #include <iostream> #include <conio.h> using namespace std; void zapis(string filename, string tekst) { ofstream outfile(filename); outfile << tekst; outfile.close(); }

przy prbie kompilacji mam bd (niestety):


Compiling...
main.cpp
c:\program files\microsoft visual studio\myprojects\plik\zapis.h(8) : error C2664: '__thiscall std::basic_ofstream<char,struct std::char_traits<char> >::std::basic_ofstream<char,struct std::char_traits<char> >(const char *,int)' : cannot convert par
ameter 1 from 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' to 'const char *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Error executing cl.exe.

plik.exe - 1 error(s), 0 warning(s)


co mog z tym zrobi?

konstruktor fstream'a jako parametr przyjmuje char* a nie string&, na prawde dobrze Ci radze, wez sobie jakis kurs C++ i chocia go pobienie przele.

ofstream outfile(filename.c_str());



kiedy pobieram dane do zmiennej string' za pomoc "cin >> zmienna" to:
kiedy napisz "Ele mele dudki"
To zostanie zapisane tylko "Ele"
Jak pobra odrazu cae zdanie?

http://www.cplusplus...ng/getline.html

Uyj getline.

getline(cin,zmienna);

http://www.cpprefere...ng/getline.html

[edit]
ehh spnienie :/
Uytkownik lszk edytowa ten post 19 sierpie 2007, 16:20
Zamiast zadawa pytania o podstawy, przeczytaj jaki kurs, bd ksik (jeeli na powanie mylisz o programowaniu). Polecam Thinking in C++, wietna ksika, naprawd warta przeczytania.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •