程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++中stringstream的用法和實例

C++中stringstream的用法和實例

編輯:關於C++

C++中stringstream的用法和實例。本站提示廣大學習愛好者:(C++中stringstream的用法和實例)文章只能為提供參考,不一定能成為您想要的結果。以下是C++中stringstream的用法和實例正文


之前在leetcode中停止string和int的轉化時運用過istringstream,如今大致總結一下用法和測試用例。

引見:C++引入了ostringstream、istringstream、stringstream這三個類,要運用他們創立對象就必需包括sstream.h頭文件。

istringstream類用於執行C++作風的串流的輸出操作。

ostringstream類用於執行C作風的串流的輸入操作。

stringstream類同時可以支持C作風的串流的輸出輸入操作。

下圖詳細描繪了幾品種之間的承繼關系:

istringstream是由一個string對象結構而來,從一個string對象讀取字符。

ostringstream異樣是有一個string對象結構而來,向一個string對象拔出字符。

stringstream則是用於C++作風的字符串的輸出輸入的。

代碼測試:

#include<iostream> 
#include <sstream>  
using namespace std;<pre name="code" class="cpp">int main(){ 
  string test = "-123 9.87 welcome to, 989, test!"; 
  istringstream iss;//istringstream提供讀 string 的功用 
  iss.str(test);//將 string 類型的 test 復制給 iss,前往 void  
  string s; 
  cout << "依照空格讀取字符串:" << endl; 
  while (iss >> s){ 
    cout << s << endl;//按空格讀取string 
  } 
  cout << "*********************" << endl; 
 
  istringstream strm(test);  
  //創立存儲 test 的正本的 stringstream 對象 
  int i; 
  float f; 
  char c; 
  char buff[1024]; 
 
  strm >> i; 
  cout <<"讀取int類型:"<< i << endl; 
  strm >> f; 
  cout <<"讀取float類型:"<<f << endl; 
  strm >> c; 
  cout <<"讀取char類型:"<< c << endl; 
  strm >> buff; 
  cout <<"讀取buffer類型:"<< buff << endl; 
  strm.ignore(100, ','); 
  int j; 
  strm >> j; 
  cout <<"疏忽‘,'讀取int類型:"<< j << endl; 
 
  system("pause"); 
  return 0; 
} 

輸入:

總結:

1)在istringstream類中,結構字符串流時,空格會成為字符串參數的外部分界;

2)istringstream類可以用作string與各品種型的轉換途徑

3)ignore函數參數:需求讀取字符串的最大長度,需求疏忽的字符

代碼測試:

int main(){ 
  ostringstream out; 
  out.put('t');//拔出字符 
  out.put('e'); 
  out << "st"; 
  string res = out.str();//提取字符串; 
  cout << res << endl; 
  system("pause"); 
  return 0; 
} 

輸入:test字符串;

注:假如一開端初始化ostringstream,例如ostringstream out("test"),那麼之後put或許<<時的字符串會掩蓋原來的字符,超越的局部在原始根底上添加。

stringstream同理,三類都可以用來字符串和不同類型轉換。

以上就是為大家帶來的C++中stringstream的用法和實例全部內容了,希望大家多多支持~

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved