Verwendung von ifstream als fscanf

8

Angenommen, ich habe eine Eingabe wie folgt:

%Vor%

wobei N, X_i und Y_i ganze Zahlen sind.

Ein Beispiel:

%Vor%

Um das zu lesen, kann ich so etwas machen (vorausgesetzt, alle Variablen sind definiert, etc.):

%Vor%

Die Frage ist, wie kann ich das einfach mit ifstream machen? Ich kann Strings bekommen, und dann kann ich nicht mehr loswerden und mit stringstream kann ich zwei Zahlen bekommen, aber das scheint ein bisschen umständlich. Gibt es einen leichteren, eleganteren Weg?

Danke

    
kolistivra 17.01.2011, 08:28
quelle

2 Antworten

6
%Vor%

Sie können die wichtige innere if Bedingung oben auf ...

vereinfachen %Vor%

... mit einem einfachen Unterstützungstyp für die Verwendung eines bestimmten Zeichens:

%Vor%

Siehe ein komplettes Programm, das hier auf ideone illustriert.

Eine alte Post von mir hat etwas ähnliches getan, um bestimmte Strings zu konsumieren. (Das obige chlit könnte eine Vorlage sein, aber chlit<','>() ist hässlich zu lesen und zu schreiben - ich würde lieber dem Compiler vertrauen).

    
Tony Delroy 17.01.2011, 08:38
quelle
3
%Vor%

Es kann auch mit Leerzeichen umgehen, da es Eingaben wie folgt lesen kann:

%Vor%

Demonstration bei ideone: Ссылка

    
Nawaz 17.01.2011 09:29
quelle

Tags und Links