Unost teksta, c++

2

Unost teksta, c++

offline
  • Pridružio: 18 Jan 2013
  • Poruke: 13

Sass Drake ::Brđo je baš zao kada ne da da se koristi klasa String, zar ne? Mr. Green
Ovdje ti ne bi trebao biti problem da umjesto klase String koristiš niz znakova.

"klase String" Bebee Dol



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 26 Avg 2010
  • Poruke: 10622
  • Gde živiš: Hypnos Control Room, Tokyo Metropolitan Government Building

feniks13 ::Sass Drake ::Brđo je baš zao kada ne da da se koristi klasa String, zar ne? Mr. Green
Ovdje ti ne bi trebao biti problem da umjesto klase String koristiš niz znakova.

"klase String" Bebee Dol


<string.h> je biblioteka, a <string> je klasa. <string.h> je danas "deprecated" kao i <iostream.h>.



offline
  • Pridružio: 14 Jul 2012
  • Poruke: 51

Napisano: 05 Dec 2013 23:12

Наведени код илуструје идеју, остаје ти да сам преклопиш оператор >>.

#include <iostream> #include <string> using namespace std; int main(int argc, char *argv[]) {     string *str = new string;     string *stringcic = new string;     system("chcp 1251"); //Windows     while(cin>>*stringcic){             if (*stringcic == "q") break;             *str+=*stringcic+" ";             }     cout<<*str<<endl;     system("pause");     return 0; }

Dopuna: 13 Dec 2013 15:02

Професор je очигледно желео да студенти увежбају преклапање оператора, па је зато искључио употребу методе getline().
Ево завршеног примера у коме је дефинисана помоћна класа tekst и њој прилагођени - преклопљени оператор >>. Илуструје се уношење текста са размацима.
#include <iostream> #include <string> using namespace std; class tekst{ public :    string str;     public:    friend istream& operator>>(istream& input, tekst& t){       string stringic;       while(input>>stringic){             if (stringic == "q") break;             t.str += stringic + " ";             }     return input;    }    tekst(){    } }; int main(){    system("chcp 1251 >> null.tmp"); //Windows    string *s = new string;    tekst t;    cin >> t;    *s = t.str;    cout << endl << "*s = " << *s << endl;    system("pause"); }


Што се тиче ћириличности фонта коришћеног за унос, само треба подесити Defaults фонт конзоле (на јуникс - сличним системима ово је сувишно).

Ko je trenutno na forumu
 

Ukupno su 1106 korisnika na forumu :: 58 registrovanih, 5 sakrivenih i 1043 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Acivi, adamantadv, Alibaba1981, Andrija357, babaroga, bagor10, bato, Bobrock1, bojcistv, Bokiboks, Boris90, BSD, cavatina, darcaud, debeli, djboj, Djokkinen, djordjekec, DonRumataEstorski, Dorcolac, draganv97, dragoljub11987, DrugiREI, flash12, Gosha101980, goxin, ikan, ivan1973, Karla, Kibice, Klecaviks, kobaja77, Kubovac, Luka1998, mile23, milenko crazy north, Oscar, Panter, Parker, RJ, rovac, S2M, scimitar19, shone34, slonic_tonic, SR-3m, Tas011, theNedjeljko, Tvrtko I, uros, uruk, vathra, vlad4, Vladko, voja64, vukovi, wizzardone