Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

String - prelivanje ulaznog buffera

[es] :: C/C++ programiranje :: C/C++ za početnike :: String - prelivanje ulaznog buffera

[ Pregleda: 1543 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Fidelito_Castro
Fidelito_Castro
Subotica

Član broj: 143557
Poruke: 87
*.eunet.yu.



Profil

icon String - prelivanje ulaznog buffera26.03.2008. u 01:34 - pre 195 meseci
Imam problem sa ulaznim baferom!
Interesuje me da li bi neko mogao da mi da savet kako da vratim medjuregistar(bafer) na standardu vrednost - resetujem bafer ?
U C-u sam odradjivao preko naredbe fflush(stdin); , a video sam da se u C++ koristi cin.get() ???
Unapred zahvalan svima koji su spremni da pomognu !


Code:

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
  const int DIM = 6; 
  char buffer[DIM];

  //Unos prvih 5 karaktera
  //Problem kod unosa vise od 5 karaktera
  cout << "Unesite 5 karaktera stringa: > ";
  cin.getline(buffer, DIM);

  cout << endl << endl;
  cout << "String koji ste uneli > " << buffer << endl;

  cout << endl << endl;
  cout << "Unesite sledecih 5 karaktera stringa: > ";
  cin.getline(buffer, DIM);

  cout << endl << endl;
  cout << "String koji ste uneli: > " << buffer << endl;

  system("PAUSE");
  return EXIT_SUCCESS;
}


[Ovu poruku je menjao Fidelito_Castro dana 26.03.2008. u 07:44 GMT+1]
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: String - prelivanje ulaznog buffera26.03.2008. u 07:44 - pre 195 meseci
Probaj možda ovako:
Code:

void flush( istream &i_stream )
{
   i_stream.clear();
   char tmp_char;
   while( ( (tmp_char = i_stream.get() ) != '\n' ) && ( tmp_char != EOF ) )
      ;
   i_stream.clear();
}


Code:

// ...
flush( cin );
// ...


 
Odgovor na temu

Eurora3D Team
Nebojsa - Programer & Vodja tima
Beograd

Član broj: 120376
Poruke: 900
91.148.113.*



+7 Profil

icon Re: String - prelivanje ulaznog buffera26.03.2008. u 16:06 - pre 195 meseci
Moze da radi i ovako ...
Code:

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
    const int DIM = 6;
    char buffer[DIM];

    //Unos prvih 5 karaktera
    //Problem kod unosa vise od 5 karaktera
    cout << "Unesite 5 karaktera stringa: > ";

    //cin.getline(buffer, DIM);
    //\\ OVO
    cin >> buffer;
    buffer[5]=0; // nula na kraju
    //\\//\\//\\//\\//\\//\\//\\//\\

    cout << endl << endl;
    cout << "String koji ste uneli > " << buffer << endl;

    cout << endl << endl;
    cout << "Unesite sledecih 5 karaktera stringa: > ";

    //cin.getline(buffer, DIM);
    //\\ OVO
    cin >> buffer;
    buffer[5]=0; // nula na kraju
    //\\//\\//\\//\\//\\//\\//\\//\\

    cout << endl << endl;
    cout << "String koji ste uneli: > " << buffer << endl;

    system("PAUSE");
    return EXIT_SUCCESS;
}

 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: String - prelivanje ulaznog buffera

[ Pregleda: 1543 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.