原创答案,仅供参考
编译环境windows 8.1,编译器 vs2013
天下无双的答案有点奇怪。
总之我写的答案是没有问题的
/*3.编写一个函数,它接受一个指向string对象的引用作为参数,并将该string
对象的内容转换为大写,为此可以使用表6.4描述的函数toupper()。然后编写
一个程序,它通过使用一个循环让您能够用不同的输入来测试这个函数,该程序
的运行情况如下: */
#include "stdafx.h"
#include <iostream>
#include <cstring>
#include <string>
void changeatoA(const std::string &str);
int _tmain(int argc, _TCHAR* argv[])
{
using namespace std;
string str;
while (1){
cout << "输入字符转换,或者q退出:\n";
getline(cin, str);
if (str == "q"){
break;
}
else {
changeatoA(str);
}
}
}
void changeatoA(const std::string &str)
{
using namespace std;
string str2="";
int length=str.length ();
for (int i = 0; i<length; i++)
{
str2 += toupper(str[i]);
}
cout << str2.c_str()<<endl;
}