题目描述
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
输出描述:
输出到长度为8的新字符串数组
解题思路
- 基础知识
append函数:向string的后面追加字符或字符串。
用法之一:向string后面加多个字符,string s1 = “hello”; s1.append(4, '!')//在当前字符串结尾添加4个字符!
https://blog.csdn.net/wxn704414736/article/details/78551886
- 具体应用
由于输出为长度为8的字符串数组,所以对每次读取的字符串,不足8的整数倍的部分结尾添'0',补齐成8的整数倍,再每次输出长度为8的字符串即可
代码示例
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
vector<string> res;
string str;
while (cin >> str){
int length = str.length();
if (length % 8) str.append(8 - length%8, '0');
string tmp = "";
for (int i = 0; i < str.length(); i++) {
tmp += str[i];
if ((i+1) % 8== 0) {
res.push_back(tmp);
tmp = "";
}
}
}
vector<string>::iterator it;
for (it = res.begin(); it != res.end(); it++) cout<<*it<<endl;
return 0;
}