Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

การแปลงสตริงใน C++


ในส่วนนี้ เราจะมาดูวิธีการ tokenize string ใน C++ ใน C เราสามารถใช้ฟังก์ชัน strtok() สำหรับอาร์เรย์อักขระได้ ที่นี่เรามีคลาสสตริง ตอนนี้เราจะมาดูวิธีการตัดสตริงโดยใช้ตัวคั่นจากสตริงนั้น

ในการใช้คุณลักษณะ C++ เราต้องแปลงสตริงเป็นสตรีมสตริง จากนั้นใช้ฟังก์ชัน getline() เราก็สามารถทำงานนั้นได้ ฟังก์ชัน getline() ใช้สตรีมสตริง สตริงอื่นเพื่อส่งเอาต์พุต และตัวคั่นเพื่อหยุดการสแกนสตรีม

เรามาดูตัวอย่างต่อไปนี้เพื่อทำความเข้าใจว่าฟังก์ชันทำงานอย่างไร

โค้ดตัวอย่าง

#include <iostream>
#include <vector>
#include <sstream>
using namespace std;

int main() {
   string my_string = "Hello,World,India,Earth,London";
   stringstream ss(my_string); //convert my_string into string stream

   vector<string> tokens;
   string temp_str;

   while(getline(ss, temp_str, ',')){ //use comma as delim for cutting string
      tokens.push_back(temp_str);
   }
   for(int i = 0; i < tokens.size(); i++) {
      cout << tokens[i] << endl;
   }
}

ผลลัพธ์

Hello
World
India
Earth
London