substr è ANSI, quindi funziona su tutti i compilatori, l'importante è che usi il namepsace std e l'oggetto string del header string(NON string.h ma string di std):

codice:
...
#include <string>
#include <iostream>
//altri include
using namespace std;
...