Если только для латиницы, тогда так:
берем код символа, определяем, попадает ли он в диапазон "a-z", если да -
сбрасываем пятый бит. Но это будет работать только для латиницы.
Вообще, не во всех языках возведение символа в верхний регистр имеет смысл и
локализации не зря придумали. Поэтому "просто так" такую функцию самому не написать.
Добавлено через 39 секунд

Сообщение от
xtorne21st
Убежденный, toupper() не меняет первую букву каждого слова на заглавную
А что, циклы в C++ уже отменили ?