在C++中,std::stringstream
是一個非常有用的工具,它允許你將字符串和其他數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換,以及處理和解析字符串
<sstream>
頭文件。#include<iostream>
#include <sstream>
#include<string>
std::stringstream
對象來處理字符串。std::stringstream ss;
字符串與數(shù)字之間的轉(zhuǎn)換:
將數(shù)字轉(zhuǎn)換為字符串:
int num = 42;
std::stringstream ss;
ss<< num;
std::string result;
ss >> result;
將字符串轉(zhuǎn)換為數(shù)字:
std::string str_num = "42";
std::stringstream ss;
ss<< str_num;
int result;
ss >> result;
解析逗號分隔的值(CSV):
使用 std::getline()
函數(shù)結(jié)合 std::stringstream
可以方便地解析 CSV 格式的字符串。
std::string csv_line = "1,2,3,4,5";
std::stringstream ss(csv_line);
int value;
char delimiter;
while (ss >> value) {
// 處理 value
std::cout<< value<< std::endl;
// 跳過逗號
ss >> delimiter;
}
處理空格分隔的字符串:
使用 operator>>
可以自動忽略空格并分割字符串。
std::string sentence = "This is a sentence.";
std::stringstream ss(sentence);
std::string word;
while (ss >> word) {
// 處理單詞
std::cout<< word<< std::endl;
}
清空 stringstream:
如果需要重復(fù)使用同一個 std::stringstream
對象,可以使用 str()
和 clear()
方法清空它。
ss.str("");
ss.clear();
通過這些技巧,你可以更高效地使用 C++ 中的 std::stringstream
來處理字符串和數(shù)據(jù)類型轉(zhuǎn)換。