basic_streambuf :: searchoff, was zurückgegeben werden soll, wenn ios_base :: in | ios_base :: out wird angegeben?

8
  

27.6.3.4.2 Pufferverwaltung und -positionierung

%Vor%      
  • Effekte: Ändert die Stream-Positionen in einem oder mehreren der   gesteuerte Sequenzen in einer Weise, die für jede separat definiert ist   Klasse abgeleitet von basic_streambuf in dieser Klausel (27.8.2.4,   27.9.1.5).
  •   
  • Standardverhalten: Gibt pos_type(off_type(-1)) zurück.
  •   

So weit, so gut. Die basic_streambuf Ableitung, die ich verwende, kann ihre Position für ios_base::in und / oder ios_base::out getrennt ändern. Aber was muss ich zurückgeben, wenn beide angegeben sind?

Wenn Sie ios_base::in oder ios_base::out angeben, geben wir die neue Stream-Position der spezifischen Sequenz zurück.

    
0xbadf00d 23.07.2011, 13:51
quelle

2 Antworten

1

Es ist etwas mit Ihrem Stream zu tun, um zu definieren, was passiert. Die eingebauten Streams unterscheiden sich darin, dass einige getrennte Lese- und Schreibpositionen (stringstream) haben können, während andere nur einen (fstream) haben.

Wenn der Benutzer eine Neupositionierung vornimmt und beides eingibt, sollten Sie beide verschieben. Wenn es eine Suche mit einer Nullverschiebung ist, um die aktuelle Position zu erhalten, ist es nicht unvernünftig zu versagen, wenn die Positionen unterschiedlich sind.

    
Bo Persson 23.07.2011, 14:46
quelle
0

Nach dem Suchabruf von 27.8.2.4 scheint es, dass von Ihnen erwartet wird, dass Sie scheitern.

Überprüfen Sie die Konditionstabelle 130, die besagt, dass sowohl Eingabe- als auch Ausgabesequenzen nur dann positioniert werden sollten, wenn

%Vor%     
Christopher Oezbek 23.07.2011 22:20
quelle

Tags und Links