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

[求助]C++问题(如何使用C++来找出编码88表示的字符?指出至少两种方法?)

dengtc 发布于 2007-05-21 14:26, 2329 次点击
如何使用C++来找出编码88表示的字符?指出至少两种方法?并且做出详细的解释!!
请各位大哥大姐帮帮忙!!
下面是我写的程序!!可是结果有问题!!

#include <iostream>
int main()
{
using namespace std;
char a=88;
cout<<a<<endl;
cout.put(a);
cout<<a<<endl;
return 0;
}

结果是
X
XX

请各位大哥大姐指点指点!!


[此贴子已经被作者于2007-5-21 15:22:17编辑过]

8 回复
#2
aipb20072007-05-21 15:13
cout << "\130";或者 cout << "\x58";

88转8进制为130;转16进制为58。

#3
dengtc2007-05-21 16:43
谢谢!aipb2007!
我想问
char a=88; 还有如何用cout.put()来显示字母X?以及为什么
cout<<a<<endl; cout.put(a);cout<<a<<endl;的结果是XX?

cout.put(a);
cout<<a<<endl;
的区别
他们的结果也不同:
char a=88;
cout<<a<<endl;
的结果是X;
cout.put(a);
cout<<a<<endl;
的结果是XX;

[此贴子已经被作者于2007-5-21 16:45:46编辑过]

#4
aipb20072007-05-21 17:59
你这样也可以的。

比如cout << (char)88;

与之一样cout.put((char)88);

put()只能接受char类型的参数,返回输出流的引用。



cout.put(a);
cout<<a<<endl;
的结果是XX;

你两种方式都用到了,都输出了X,所以有两个。
#5
neverDie2007-05-21 18:09
以下是引用aipb2007在2007-5-21 15:13:38的发言:
cout << "\130";或者 cout << "\x58";

什么意思?

#6
dengtc2007-05-22 17:47
aipb2007
那么用cout.put()如何才能只输出X,而不是XX呢?
cout.put((char)88);
cout<<88<<endl;
输出是X88???

[此贴子已经被作者于2007-5-22 17:48:54编辑过]

#7
aipb20072007-05-22 17:53
以下是引用dengtc在2007-5-22 17:47:23的发言:
aipb2007
那么用cout.put()如何才能只输出X,而不是XX呢?
cout.put((char)88);
cout<<88<<endl;
输出是X88???

你没看清我上面的帖子哦!

直接cout.put(char(88))就只输出一个X!不要再加cout << (char)88 ;了

懂了吗?cout.put()和cout << 均会输出到标准流!选一个就可以了,两个都用当然输出2个X了!

#8
leeco2007-05-22 21:13


#include <iostream>
using namespace std;


class B{
public:
    B(){cout<<static_cast<char>(88)<<endl;}
}b;


int main()
{
    printf(\"%c\n\",88);
}

#9
dengtc2007-05-22 22:59
哦!
非常感谢!!aipb2007
1