c++关于字符串的读入和截取
#include<iostream>
#include<string>
#include<vector>
using namespace std;
vector<string> splitEx(const string& src, string separate_character)
{
vector<string> strs;
int separate_characterLen = separate_character.size();//分割字符串的长度,这样就可以支持如“,,”多字符串的分隔符
int lastPosition = 0, index = -1;
while (-1 != (index = src.find(separate_character, lastPosition)))
{
strs.push_back(src.substr(lastPosition, index - lastPosition));
lastPosition = index + separate_characterLen;
}
string lastString = src.substr(lastPosition);//截取最后一个分隔符后的内容
if (!lastString.empty())
strs.push_back(lastString);//如果最后一个分隔符后还有内容就入队
return strs;
}
int main()
{
/*
string s;
string sum;
while (cin >> s){
sum += s + " ";
if (cin.get() == '\n')
break;
}
cout << sum << endl;
*/
int tpp = 1;
string str;
do{
string s;
string temp;
cout << "输入一行字符串:\n";
while (cin >> s){
temp += s + " ";
if (cin.get() == '\n')
break;
}
cout << "继续输入请按1";
cout << temp << endl;
str = temp;
cin >> tpp;
} while (tpp==1);
//string str;
/*
int count;//单词个数
int i, j;
*/
//cout << "输入一行字符串:\n";
//getline(cin, str);
/*
for (count = 0, j = str.size(), i = 0; i<j;)
{
while (str[i] == ' '&&i<j) i++;
if (i<j) count++;
while (str[i] != ' '&&i<j) i++;
}
cout << "j=" << str.size() << endl;
cout << "输入的字符串为:\n" << str << endl;
cout << "字符串中包含的单词数为:" << count << endl;
*/
string del = " ";
vector<string> strs = splitEx(str, del);
//cout << "strsSize=" << strs.size() << endl;
cout << "输入的字符串为:\n" << str << endl;
cout << "字符串中包含的单词数为:" << strs.size() << endl;
//int a,b,c,d;
unsigned int i = strs.size()-1;
while (i >=0)
//for (unsigned int i = 0; i < strs.size(); i++)
{
int j = 1;
int a = atoi(strs[i].c_str());
int b = atoi(strs[i-1].c_str());
int c = atoi(strs[i - 2].c_str());
int d = atoi(strs[i-3].c_str());
int cc = atoi(strs[j+2].c_str());
//cout <<b+1 << endl;
if (a == b && c == d){
cout << "yes" << endl;
break;
}
else
{
cout << "no" << endl;
break;
}
//i -= 3;
}
cout << endl;
system("pause");
return 0;
}
c++关于字符串的读入和截取的更多相关文章
- php字符串标点等字符截取不乱吗 封装方法
方法一: /** +---------------------------------------------------------- * 功能:字符串截取指定长度 * leo.li hen ...
- [转]Python 字符串操作实现代码(截取/替换/查找/分割)
原文地址:http://www.jb51.net/article/38102.htm ps:好久没更新python代码了,这次用到了字符串,转来看看 Python 截取字符串使用 变量[头下标:尾下标 ...
- 字符串长度计算、截取、url参数获取、计算百分比、时间戳格式化
1.中英混合文字字符截取 //中文长度截取计算,可取中英混合,个数向上取整,精确度1个英文字符误差,一个英文算一个字符,一个汉字算一个字符. //sub("中文zlsd",1) - ...
- go语言字符串的连接和截取
字符串的连接: https://studygolang.com/articles/12281?fr=sidebar 字符串的截取: https://studygolang.com/articles/9 ...
- javascript 字符串的连接和截取
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- PHP针对中英文混合字符串长度判断及截取方法
PHP自带的函数如strlen().mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节.例: $enStr = 'Hello,China!'; echo str ...
- UTF8字符串在lua的截取和字数统计【转载】
转载自:GitHub:pangliang/pangliang.github.com 需求 按字面个数来截取 函数(字符串, 开始位置, 截取长度) utf8sub(,) = 好1世界哈 utf8sub ...
- StringsUtil字符串工具类---灵活截取
package com.js.ai.modules.pointwall.interfac; import javax.print.attribute.standard.MediaName; publi ...
- js判断中文字符串长度和js截取中文字符串
//获取字符串长度String.prototype.strLen = function() { var len = 0; for (var i = 0; i < this.length; i++ ...
随机推荐
- jstat 命令
NAME jstat - Monitors Java Virtual Machine (JVM) statistics. This command is experimental and unsupp ...
- Autoit安装及启动
1.Autoit下载: 官网下载地址:https://www.autoitscript.com/site/autoit/downloads/ 提供百度网盘下载:https://pan.baidu.co ...
- 阅读《C Primer Plus》收获
190927 知识内容: 1.了解到C语言混乱代码大赛.评选谁的程序最有创意但又让人难以理解 2.了解最初的c语言的规则,所有编译器依照规则而设计. 3.编程前先要确定好目标对象,并且在纸上大概写出流 ...
- 【转帖】Linux和GNU系统
Linux和GNU系统 Richard Stallman 著 http://www.gnu.org/gnu/linux-and-gnu.zh-cn.html 更多信息,请同时参看GNU/Linux常见 ...
- 【LOJ】#3109. 「TJOI2019」甲苯先生的线段树
LOJ#3109. 「TJOI2019」甲苯先生的线段树 发现如果枚举路径两边的长度的话,如果根节点的值是$x$,左边走了$l$,右边走了$r$ 肯定答案会是$(2^{l + 1} + 2^{r + ...
- python中全局global和局部nonlocal命名空间
python中全局global和局部nonlocal命名空间 局部名称空间对全局名称空间的变量可以引用,但是无法改变. count = 1 def func1(): count = 2 print(c ...
- Win32汇编常用算数指令
汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地 ...
- 贝叶斯线性回归(Bayesian Linear Regression)
贝叶斯线性回归(Bayesian Linear Regression) 2016年06月21日 09:50:40 Duanxx 阅读数 54254更多 分类专栏: 监督学习 版权声明:本文为博主原 ...
- c# 多线程使用队列顺序写日志的类 (需要再优化)
using System; using System.Collections.Generic; using System.Threading; public class LogManager { // ...
- 安装sshpass
sshpass: 用于非交互的ssh 密码验证 ssh登陆不能在命令行中指定密码,也不能以shell中随处可见的,sshpass 的出现,解决了这一问题.它允许你用 -p 参数指定明文密码,然后直接 ...