1. c++获取屏幕上一行数字的输入,以任意字符分隔,以回车结束(不需要提前知道有多少数据)
#include<iostream> #include<vector> #include<sstream> #include<stdlib.h> using namespace std; void split(const string& s, const string& delim,vector<string> &elems) { size_t pos = 0; size_t len = s.length(); size_t delim_len = delim.length(); if (delim_len == 0) return; while (pos < len) { int find_pos = s.find(delim, pos); if (find_pos < 0) { elems.push_back(s.substr(pos, len - pos)); break; } elems.push_back(s.substr(pos, find_pos - pos)); pos = find_pos + delim_len; } return; } int main() { char a[4096]; scanf("%[^\n]",a); string s(a); vector<string> s_s; split(s," ",s_s); for(int i=0;i<s_s.size();i++) cout<<s_s[i]<<endl; return 0; }
时间: 2024-10-30 10:21:29