Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ tách số nguyên từ chuỗi phân cách bằng dấu phẩy

Cho chuỗi chứa các số nguyên phân cách bằng dấu phẩy. Tách chúng ra và in mỗi số trên một dòng. Sử dụng stringstream (thư viện sstream) - luồng dựa trên chuỗi. Dùng toán tử >> để trích xuất, << để chèn, str() để thiết lập nội dung.

Ví dụ: s="56,9,85,256,47" → 56 9 85 256 47

Giải thuật

  • Hàm take_int(string str):
    • stringstream ss(str)
    • vector result
    • While ss >> tmp: result.push_back(tmp); ss >> ch (bỏ qua dấu phẩy)
    • Trả về result
  • Main: integers = take_int(s), in từng phần tử

Ví dụ minh họa

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

vector<int> take_int(string str) { 
    stringstream ss(str); 
    vector<int> result; 
    char ch; 
    int tmp; 
    while(ss >> tmp) { 
        result.push_back(tmp); 
        ss >> ch; 
    } 
    return result; 
} 

int main(){ 
    string s = "56,9,85,256,47"; 
    vector<int> integers = take_int(s); 
    for(int i = 0; i < integers.size(); i++) 
        cout << integers[i] << "\n"; 
} 

Đầu vào

56,9,85,256,47

Đầu ra

56 9 85 256 47