我已经写了这个小小的怪异代码。 type
在2 printf
之间变化怎么可能?奇怪的一段代码
预先感谢
int main()
{
string label = string("faults_team_A_player_12");
size_t f = label.find('_');
const char *type = label.substr(0,f).c_str();
const char team = label.at(f+sizeof("team_"));
printf("type = %s\n",type);
int n;
size_t l = label.length()-label.find_last_of('_');
int x = sscanf((char *)label.substr(label.find_last_of('_'),l).c_str(),"_%d",&n);
printf("type = %s\n",type);
printf("team = %c\n",team);
printf("player = %d\n",n);
return 0;
}
ouptut:
type = faults
type = _12
team = A
player = 12
我不太明白为什么downvote或请求关闭... –