嘿,我有一個任務,我似乎無法解決。我得到一個char *字符串,我需要使用位操作將所有大寫字母(所有內容都以ASCII格式)轉換爲小寫字母。我添加了我的代碼,但它不斷崩潰。C++如何更改char *中for循環中的字符
#include <iostream>
#include <cstring>
using namespace std;
void convertToLower(char* string)
{
for (unsigned int i = 0; i < strlen(string); i++)
{
if (string[i] >= 65 && string[i] <= 90)
{
string[i] |= 32;
}
}
cout << string << endl;
}
int main()
{
convertToLower("Hello");
return 0;
}
你是怎麼稱呼它的?你傳遞給它什麼? – molbdnilo
http://ideone.com/53laPq對我來說都很好。你可能通過提供一個字符串來調用它,不要這樣做。這是隻讀內存。 –
還要確保您的字符串以空字符結尾。 – SingerOfTheFall