通过char读取char

时间:2010-09-24 15:07:18

标签: c++

我的问题有点奇怪,但是如何通过使用scanf()而不使用getchar()operator<<从char键盘char读取一些字符串,例如我想要提前感谢a提前阅读的每个字母*

4 个答案:

答案 0 :(得分:2)

char c;
std::string output;


while(std::cin >> c)
{
   if(c == 'a')
      c = '*';

   output += c;

}

答案 1 :(得分: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/,这对于其他运营商而言至关重要&gt;&gt;将跳过空格,制表符和换行符,直到找到要放入“c”的其他字符,从而导致从输出中删除所有上述空白字符。

答案 2 :(得分:0)

尝试写出一种char。

char cReadFromStream;

stream >> cReadFromStream;

答案 3 :(得分:0)

你做不到。 operator << uses cooked inputs.

但是,如果您真的想要使用C ++ iostream而不是C stdio函数来寻找解决方案,那么使用cin.get(),这是与getchar等效的C ++ iostream。