#include #include int string_length(const char* buffer) { int index = 0; while ( buffer[index] != '\0' ) ++index; return index; } char* to_upper(char* string) { //for ( int index = 0, length = string_length(string); index < length; ++index ) for ( char* ptr = string; *ptr; ++ptr ) *ptr = toupper(*ptr); return string; } int remove_trailing_newline(char buffer[]) { int length = string_length(buffer); if ( buffer[length - 1] == '\n' ) buffer[--length] = '\0'; return length; } #define SZ_BUFFER 1024 int main() { char buffer[SZ_BUFFER]; while ( fgets(buffer, SZ_BUFFER, stdin) != NULL ) { remove_trailing_newline(buffer); printf("[%s]\n", to_upper(buffer)); } return 0; }