Charles Monro fait ses études à Sherborne School puis à l'Académie royale militaire de Sandhurst. Le 13 août 1879, il est nommé sous-lieutenant au à pied. Il est promu lieutenant le 15 mai 1881 et capitaine le 24 juillet 1889. Il est ensuite nommé major le 23 février 1898. Charles Monro participe à la Seconde Guerre des Boers, il est successivement , puis adjudant-général adjoint à l'état-major le 15 avril 1899, il combat à la Bataille de Paardeberg en 1900. Monro est promu lieutenant-colonel à titre temporaire en 1900 et obtient son brevet de lieutenant-colonel le 29 novembre 1900. Le 28 mars 1903, il est définitivement promu lieutenant-colonel et prend la direction de l'. Monro est colonel en 1906 et commande la le 12 mai 1907 comme brigadier-général à titre temporaire. Il est promu major-général le 31 octobre 1910, il commande à partir du 31 mars 1912 la .