我需要使用一个字符数组,并根据需要将数组中的字符大写和小写。我正在查看礼帽及其示例,但我对它的工作原理感到困惑。从我写的cplusplus.com上给出的例子来看
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,程序打印出 THIS IS A TEST。 putchar 是否打印到屏幕上? (示例中未解释 putchar 的使用)。但我的第二个更重要的问题是为什么底部的 cout 仍然打印出 This is a test.?它不会改变 str[] 中的字符吗?有没有其他方法我应该这样做(记住我需要使用字符数组)?
最佳答案
是的,putchar()
将一个字符打印到程序的标准输出。这就是它的目的。它是大写输出的来源。
程序底部的 cout
打印原始字符串,因为您从未修改过它。 toupper()
函数不会——实际上不能——修改它的参数。相反,它返回大写的字符。
关于c++ - 大写字符,topper 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26433009/