成炭

2010-09-24 36 views
0

我的问题阅读char是有点怪,但怎么可能读通过字符键盘字符一些字符串,而无需使用scanf()getchar()只能使用operator<<,比如我要改变每一封信a我读*在此先感谢成炭

回答

2
​​
+0

'push_back()'方法可以由串联替换:'output + = c;'。这可能是更自然的,因为它是一个附加。 – 2010-09-24 16:53:42

+0

呼叫良好。我一直呆在C地久了。 – 2010-09-24 20:30:02

0

尝试写出一种字符。

char cReadFromStream; 

stream >> cReadFromStream; 
0

你不能。然而,如果你的意思是你正在寻找一个使用C++ iostreams而不是C stdio函数的解决方案,那么使用cin.get()这是C++ iostreams等价于getchar的方法。

1

根据你的目的,你会发现它足以做到这一点:

#include <iostream> 
#include <iomanip> 

char c; 

std::cin >> std::noskipws; 

while (std::cin >> c) 
    std::cout << c == 'a' ? '*' : c; 

为noskipws的进一步的细节,这一点至关重要否则运营商>>查看http://www.cplusplus.com/reference/iostream/manipulators/noskipws/将跳过空格,制表符和换行符,直到它发现其他字符放在'c'中,导致所有前面提到的空白字符都从输出中删除。