2016-04-27 22 views
-3

Ich möchte Integer in einer Zeile aus einer Datei lesen.Wie Integer aus einer Zeile in C++ gelesen werden?

Zum Beispiel ist die Linie: 3/2 + 5-5

Ich glaube, ich muß >>, aber es gestoppt, weil die Charaktere;

Ich versuche auch, andere Funktionen zu verwenden, aber sie sind alle für Zeichen.

+1

Es gibt keinen einfachen Weg, dies zu tun. Ich schlage vor, die ganze Zeichenfolge einzulesen und dann zu tokenisieren. – Fang

Antwort

2

Wie schon @Fang gezeigt hat, gibt es keinen einfachen Weg es zu tun. Sie können die gesamte Zeile lesen und über den folgenden Code in Token setzen:

std::ifstream f("file.txt"); 

std::string line; 
std::getline(f, line); 

std::vector<std::string> integers; 
boost::split(integers, line, boost::algorithm::is_any_of("+-*/"), boost::token_compress_on); 

// Then convert strings from the integers container to ints