As I've no idea what interface your array has and what order the strings come out of the array I'm going to assume that your strings are std::string and your array is std::vector<std::string xmlns:std="#unknown">.
The first thing to do is give your structure a constructor:
playerData::playerData( const std::vector<std::string> &input )
{
}
Once you've done that the problem is to convert a string to an integer. Write a function for that:
int string_to_int( const std::string &str )
{
int value = 0;
std::istringstream in_str( str );
in_str >> value;
if( !in_str )
{
throw std::runtime_error( "Couldn't convert string to integer" );
}
}
and finally implement your constructor in terms of that function:
playerData::playerData( const std::vector<std::string> &input ) :
id( string_to_int( input[ 0 ] ) ),
matches( string_to_int( input[ 1 ] ) ),
{
}
Cheers,
Ash
PS: This is particularly braindamaged in some respects. What I'd be tempted to do would be to implement a constructor from a stream and pass the data in like that. It'd be easier to test and you could enter player data from the command line as well.