Я бы использовал sscanf для разбора строки:
int m, d, y;
sscanf("05/18/11", "%02d/%02d/%02d", &m, &d, &y);
При этом дата будет разбита на три целочисленных значения.
Кроме того, чтобы убедиться, что входные данные были отформатированы правильно, вы также должны проверить, что sscanf вернул 3, указывая, что все три значения были правильно проанализированы. См. Следующий рабочий пример , который включает в себя некоторые основные проверки ошибок.