我不允許使用toupper()如何將字符串轉換爲大寫C++
這些是我的函數,一個函數必須通過引用傳遞字符串。
void Uppercase(string x)
{
int y = 0;
while (y < x.length)
{
x[y] = x[y] - 32;
y++;
}
}
void uppercase(string &x)
{
int y = 0;
while (y < x.length)
{
x[y] = x[y] - 32;
y++;
}
我至少有正確的想法嗎?
我得到這個錯誤,當我建立它....
錯誤5錯誤C2446: '<':無論從「無符號整型(__thiscall的std :: basic_string的,性病::分配器轉換> :: * )(void)throw()const'to'int'c:\ users \ edwingomez \ documents \ visual studio 2013 \ projects \ homework \ homework \ homework6.cpp 18 1作業
32是一個幻數,應至少用一個常數代替。 – chris 2015-03-31 16:47:23
您需要檢查字符是否在正確的範圍'a' - 'z'中,並且第一個函數不會做任何事情,字符串在內部被修改,但結果是看不到的。 – NetVipeC 2015-03-31 16:47:53
你遺漏了括號:'x.length()'。 – molbdnilo 2015-03-31 16:59:03