For C I would use toupper after adjusting the C locale in the current thread.
setlocale(LC_CTYPE, "en_US.UTF8");
For C++ I would use the toupper method of std::ctype:
std::locale loc;
auto& f = std::use_facet>(loc);
char str[80] = "Hello World";
f.toupper(str, str+strlen(str));