私は、文字列のすべての小文字を大文字に変換する必要がありますが、質問ごとにコード内の特定の行を変更しないでください。私は以下のコードを書いた。C++で文字列の小文字を大文字に変換する方法は?
#include <iostream>
#include <string>
#include <stdio.h>
#include <ctype.h>
using namespace std;
class StringOps {
public:
void stringToUpper(string &s) //This line should not be changed
{
char c;
int i=0;
while (s[i])
{
c=s[i];
putchar (toupper(c));
i++;
}
}
};
int main(void)
{
string str ="Hello World";
StringOps obj;
obj.stringToUpper(str);
cout << str; //This line should not be changed
return 0;
}
私のように出力を得る:
HELLO WORLDHello World
しかし、必要な出力は次のとおりです。
HELLO WORLD HELLO WORLD
どのように私はmain()の中
cout<<str;
文を作るのですか関数で計算された結果を出力する:
void stringToUpper(string &s)
まあ、あなたはt 'stringToUpper'で' s'を変更してください。 – aschepler
あなたは現在行っているようなものを出力するのではなく、 'stringToUpper' _change_' s'を作るべきです。 –
ありがとうございます!今私は間違いを理解した。 –