一、分隔符分隔字段
可以指定在学号与姓名之间加入分隔符
语法:姓名1#学号1##姓名2#学号2##……,#分隔姓名和学号,##分隔2位同学的信息;
qwerwqr#135616516##aawsfvgseg#3513##asgeafgasw#1534864##rhtjynvrc#1384648##vebybtrdv#6541684##niuybtv651#3158486413##89461esgrfdhhssr4864#86541##d8d5d545d5d5#5156486854##88d8dd5d58#5464##
源代码
#include
using namespace std;
int main()
{string s;cin>>s;int b=0;for(int i=0; i
效果截图

二、定长字段分隔
可以指定学号长度
语法:4字节姓名6字节学号连续排列;
xxxx000000yyyy111111qqqq222222wwww333333eeee444444rrrr555555tttt666666yyyy777777uuuu888888iiii999999
源代码
#include
using namespace std;
int main()
{int n; cin>>n;while(n--) {string ss, s[3];int k = 1;cin >> ss;for(int i=0; i
效果截图

三、转义符字段分隔
可以在姓名和学号之前用1个字节规定姓名和学号长度
语法:(姓名1的长度,该数字占8bits,长度单位是字节)姓名1(学号1的长度,该数字占8bits,长度是字节)学号1(姓名2的长度,该数字占8bits,长度单位是字节)姓名2(学号2的长度,该数字占8bits,长度是字节)学号2……
源代码
#include
using namespace std;
string s="?wcy?117001158112";
string subs[100];
int main( )
{int k=0;s[0]=3;s[4]=12;int q = s[0];for(int i=0; i
效果截图

四、变长字段分隔
自己增加一种,以%为转义符的情况,即在字段内部可以出现#和%,出现的#和%分别变成%#和%%
源代码
#include
using namespace std;
string str[2];
string s,ch;
int i,j;
int main() {cin >> ch;for (i = 0; i < ch.length(); i++) {if (ch[i] == '#') {j++;continue;} else if (ch[i] == '%') {i++;}str[j] = str[j] + ch[i];}cout << "姓名: " << str[0] << endl << "学号: " << str[1] << endl;
}
效果截图
