如何设置输入不确定个数的字符串?中间会用空格分开,输入结束按回车键
5条回答
- SeaTalks 2017-08-28 05:38关注
那给你个例子吧:
#include <stdio.h> #include <iostream> #include <string.h> #include <vector> using namespace std; vector<string> split(char* str,const char* c) { char *p; vector<string> res; p = strtok(str,c); while(p!=NULL) { res.push_back(p); p = strtok(NULL,c); } return res; } int main() { char c; vector<char> chars; while((c=getchar()) != '\n'){ chars.push_back(c); } chars.push_back('\0'); char *str = new char[chars.size()+1]; strcpy(str, &(*chars.begin())); c=' '; vector<string> strs = split(str, &c); for (int i=0;i<strs.size();++i){ cout << strs[i]<<endl; } delete str; return 0; }
输入为:
a b asdf lkasj ;aslkdf asdf k
输出为:
a
b
asdf
lkasj
;aslkdf
asdf
k本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿
- ¥15 回答4f系统的像差计算
- ¥15 java如何提取出pdf里的文字?