Étudiant à l'université centrale de Caroline du Nord de Durham, Charles Foster se révèle en 1974 en remportant les championnats NCAA et les championnats de l'Amateur Athletic Union, son premier titre national majeur. En 1975 à Rome, il s'adjuge le titre du 110 m haies des Universiades d'été dans le temps de 13 s 83. Il participe l'année suivante aux Jeux olympiques de 1976, à Montréal, où il termine au pied du podium derrière Guy Drut, Alejandro Casañas et Willie Davenport. Il établit à cette occasion la meilleure performance chronométrique de sa carrière sur la distance en 13 s 41.