🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #309987

Piaskownica

#309987
From: M.M.
Date: Thu, 12 Dec 2019 22:54
123 lines
2588 bytes
Nie przewijajcie na dół, tam jest rozwiązanie:

Zawsze byłem słaby z biblioteki standardowej w C++, programowałem w innych. 
Nie mogłem znaleźć błędu w poniższych kilku wierszach, pewnie wy znajdziecie.
Jako pierwszy wiersz na standardowe wejście podajemy liczby np. 1 i 2. Jako
drugi podajemy np.: 3 i 4. Program dwa razy robi to samo, wczytuje wiersz,
tworzy strumień tekstowy i ze strumienia odczytuje do zmiennych x i y. Choć
dwa razy robi to samo, to drugi raz nie działa prawidłowo. Straciłem z  
godzinę czasu żeby to wygrzebać z większego programu, zdiagnozować i poprawić :)
Biblioteki trzeba znać :/

#include <iostream>
#include <sstream>

int main() {
    std::string str;
    std::istringstream ss;
    double x, y;

    std::getline( std::cin , str );
    std::cout << "String: '" << str << "'" << std::endl;
    ss.str( str );
    ss >> x >> y;
    std::cout << x << std::endl;
    std::cout << y << std::endl;

    std::getline( std::cin , str );
    std::cout << "String: '" << str << "'" << std::endl;
    ss.str( str );
    ss >> x >> y;
    std::cout << x << std::endl;
    std::cout << y << std::endl;

    return 0;
}


Pozdrawiam















































































------------------------------------------------------------
Odpowiedź:

ss.str( str );
nie resetuje pozycji, trzeba wywołać jeszcze:
ss.seekg(0);
Technical Details
Message-ID: <4596f312-bb20-4ac0-ac42-015128f3dfdd@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!g89no8710867qtd.0!news-out.google.com!w29ni1153qtc.0!nntp.google.com!g89no8710866qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:7699:: with SMTP id g25mr9542808qtr.75.1576191260739;        Thu, 12 Dec 2019 14:54:20 -0800 (PST)
X-Received: by 2002:a81:a642:: with SMTP id d63mr6340076ywh.202.1576191260535; Thu, 12 Dec 2019 14:54:20 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!g89no8710867qtd.0!news-out.google.com!w29ni1153qtc.0!nntp.google.com!g89no8710866qtd.0!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Thu, 12 Dec 2019 14:54:20 -0800 (PST)
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=159.205.157.250; posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 159.205.157.250
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4596f312-bb20-4ac0-ac42-015128f3dfdd@googlegroups.com>
Subject: Piaskownica
From: "M.M." <mmarszik@gmail.com>
Injection-Date: Thu, 12 Dec 2019 22:54:20 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit