c++ では、文字列内の各行をどのように繰り返すことができますか? ファイルを行ごとに読み取ることに関して多くの質問がありましたが、どうすればこれを行うことができstd::string
ますか?
たとえば、次の文字列があるとします。
1051
2232
5152
3821
0021
3258
各数値をどのように反復しますか?
sstream
C++ では、ヘッダーで定義されたクラスを使用して、文字列をファイルとまったく同じように使用できます。
#include <sstream>
//...
std::string str=...; // your string
std::istrstream in(str); // an istream, just like ifstream and cin
std::string line;
while(std::getline(in,line)){
//do stuff with line
}
これは少し単純化されていますが、アイデアは得られます。
などを使用するのin
と同じように使用できます。したがって、 C++ で行ごとに cin を反復処理するにはどうすればよいですか?のソリューション ここでも関連があります-「本当の」答えについてそれらを見たいと思うかもしれません(あなた自身のものに置き換えてくださいcin
in>>x
cin
istream
ostream
編集:補足として、メカニズム(のような)を使用して、画面に出力するのと同じ方法で文字列を作成できますcout
:
std::ostringstream out;
out << header << "_" << 3.5<<".txt";
std::string filename=out.str();