问一个简单的string问题
#include <iostream>
//#include<cctype>
#include <string>
using std::cout;
using std::cin;
using std::endl;
using std::string;
using string::size_type;
int main()
{
string a="some string";
for(string::size_type i=0;i!=a.size();++i)
{
cout<<toupper(a[i]);
}
cout<<endl<<a<<endl;
return 0;
}
其中cout<<toupper(a[i])结果为什么是一堆数字????
toupper()是头文件cctype中定义的,为什么代码前面不加#include<cctype>也一样能使用?
新手,求指教。
[解决办法]
[解决办法]
库函数toupper返回值的类型是 int类型
cout<<(char)toupper(a[i])
[解决办法]
摒弃cout;使用printf
[解决办法]
一般<iostream>都会包含几个常用的C语言库
[解决办法]
- C/C++ code
#include <iostream>//#include<cctype>#include <string>using std::cout;using std::cin;using std::endl;using std::string;using string::size_type;int main(){string a="some string";for(string::size_type i=0;i!=a.size();++i){ cout<<(char)toupper(a[i]);}cout<<endl<<a<<endl;return 0;}