[C++] stringstream
6988 ワード
stringstream
stringstream
所定の文字列から必要な情報を抽出する.#include <iostream>
#include <string>
#include <sstream>
int main(void)
{
float num;
std::stringstream stream1;
std::string str = "25 1 3 .235\n1111111\n22222absdaw";
stream1.str(str);
while (stream1 >> num)
std::cout << "num: " << num << std::endl;
return 0;
}
numに適したデータ型の情報がなくなるまで、ストリームからデータを抽出/コピーし続けます.str()関数
str(string s)
:現在のstreamの値をsに変更します.str()
:現在のStringstreamに格納されている文字列のコピーを返します.例1
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
int main(void)
{
std::vector<std::string> input(3, ""); // given input
input[0] = "1 Kim 89";
input[1] = "2 Moon 100";
input[2] = "3 Chan 78";
for (int i = 0; i < input.size(); i++)
{
int num, score;
std::string name;
std::stringstream ss;
ss.str(input[i]);
ss >> num;
ss >> name;
ss >> score;
std::cout << num << " " << name << " " << score << std::endl;
}
return 0;
}
前述したように、string
では、番号/名称/整数を分けて格納する場合に使用したほうがよい.参考資料
Reference
この問題について([C++] stringstream), 我々は、より多くの情報をここで見つけました https://velog.io/@t1won/C-stringstreamテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol