注册 登录
编程论坛 C++教室

<iostream>里包含<cctype>!?

ouyangshit 发布于 2015-04-09 21:32, 1002 次点击
今天看到一片代码没有#include<cctype>就使用了touppper()。
颠覆了为往日的观念。为自己在使用的时候一直#include<cctype>。
然后为开始查阅cplusplus手册,结果也没看懂它是否包含cctype。
然后为用vs2012做跳转,也没找到。

过来请教一下大神。
7 回复
#2
ouyangshit2015-04-09 21:35
程序代码:
#include<iostream>
using namespace std;
int main() {
    cout<<(char)toupper('a')<<endl;
}


就像这样输出A
#3
wmf20142015-04-09 21:51
打开include目录,找到iostream文件,用记事本打开看,搜索ctype串就知道了。
#4
ouyangshit2015-04-10 12:07
回复 3楼 wmf2014
只有本站会员才能查看附件,请 登录

win7上我不知道是哪个include文件夹,但我在vs上搜了下,无果。
版版。
#5
ouyangshit2015-04-10 12:10
回复 3楼 wmf2014
我试着用版版的方法在这个目录下找了下,结果:
只有本站会员才能查看附件,请 登录
#6
rjsp2015-04-10 12:15
C++ 只规定 #include <cctype> 将引入 标准函数toupper
不能推导出 不#include <cctype>就没有toupper
如果你希望你的代码具有可移植性,就应该#include <cctype>
#7
ouyangshit2015-04-10 13:26
回复 6楼 rjsp
谢谢rjsp的回复。
可是我想知道iostream到底哪里有导入了cctype或者定义了toupper。
我自己看帮助文档也没有,用vs跳转也没有。
#8
peach54602015-04-11 22:01
以下是引用ouyangshit在2015-4-10 13:26:15的发言:

谢谢rjsp的回复。
可是我想知道iostream到底哪里有导入了cctype或者定义了toupper。
我自己看帮助文档也没有,用vs跳转也没有。

iostream还会include别的文件的嘛。。。一级一级找上去,你就会发现有某一级包含cctype的
1