我试过在这里搜索/谷歌找到一个更好的方式来处理我需要处理的输入。这是一个例子...为括号中的数字解析字符串的更好方法?
[1 5 0 50 100 60] [2 4 1 0 40 50]
数字是随机的,但我知道有多少套括号有事前。另外,我肯定知道的格式将永远是相同的...这是用括号
我有一些已经工作在那里我得到的输入成一条线,我再迭代性格封闭
6号由字符检查...
1)外部for循环占括号集合的数目
2)首先,看它是否是空格, '[', ']'
3 )如果不是,获得该号码并将其存储在
4),然后再次开始太空检查
5)存储下一个等
6)直到我到达“]”,然后继续循环
但我觉得需要有处理解析的更好/更清晰的方式。
示例代码...
char c = line[position];
while (c == '[' || c == ']' || cc == ' '){
position++;
c = line[position];
}
string firstStr;
while (c != ' '){
firstStr += c;
position++;
c = line[position];
}
first = atoi(firstStr.c_str());
while (c == ' '){
position++;
ch = line[position];
}
string secondStr;
while (c != ' '){
secondStr += c;
position++;
c = line[position];
}
second = atoi(secondStr.c_str());
只需使用正则表达式? –
@seb但是然后OP有两个问题。 – Yakk
我会使用'std :: istringstream'或'std :: sscanf()' –