Мне нужно использовать массив символов и взять символы в массиве и при необходимости использовать заглавные буквы и нижний регистр. Я смотрел на топпер и его пример, но я смущен тем, как это работает. Глядя из примера, приведенного на cplusplus.com я написалкапитализирующие символы, как работает toupper?
int main(){
int i = 0;
char str[] = "This is a test.";
while(str[i]){
putchar(toupper(str[i]));
i++;
}
for(int i = 0; i < 15; i++){
cout << str[i];
}
}
и есть две вещи, которые я не понимаю, об этом. Во-первых, без вывода cout внизу программа выдает ЭТО ИСПЫТАНИЕ. Выводит ли putchar на экран? (использование примера не объяснено на примере). Но мой второй более важный вопрос - почему Cout на дне все еще распечатывает. Это тест. Разве это не изменяет символы в str []? Есть ли другой способ, которым я должен это делать (имея в виду, что мне нужно использовать массивы символов)?
Возможный дубликат [Преобразование строки в C++ в верхний регистр] (http://stackoverflow.com/questions/735204/convert-a-string-in-c-to-uppercase) – Samer
Чтобы реально изменить содержимое 'str', вы можете сделать' str [i] = toupper (str [i]); 'в вашем цикле. – iwolf
@iwolf Я понял это за минуту до того, как увидел ваш ответ. Я хочу, чтобы вы положили это как ответ, чтобы я мог вас счесть. Благодаря! –