我需要使用一個字符數組並獲取數組中的字符,並根據需要進行大寫和小寫。我正在看toupper和它的例子,但我對這是如何工作感到困惑。從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打印到屏幕上嗎? (使用putchar的例子沒有解釋)。但我的第二個更重要的問題是爲什麼底部的cout仍然打印出來這是一個測試。它不會改變str []中的字符嗎?有沒有另外一種方法我應該這樣做(記住我需要使用字符數組)?而循環在時間上殼體從STR一個每個字符轉換,並將其輸出http://www.cplusplus.com/reference/cstdio/putchar/
其結果是,第一:
[將C++中的字符串轉換爲大寫]可能的重複(http://stackoverflow.com/questions/735204/convert-a-string-in-c-to-upper-case) – Samer 2014-10-17 20:33:08
要實際更改'str'的內容,你可以做'str [i] = toupper(str [i]);'在你的循環中。 – iwolf 2014-10-17 20:35:00
@iwolf在我看到你的答案之前,我想了一下自己。我希望你把這個作爲答案,所以我可以信任你。謝謝! – 2014-10-17 20:41:29