C++ 一个字符串与字符变量的有关问题,希望有高手可以解答

C++ 弱弱的问一个字符串与字符变量的问题,希望有高手可以解答
我定义了一个char类型的变量c,想从控制台输入(cin>>)一个字母赋给c,如M。可是从控制台输入的“M”,会变成'M'+'\0',我怎么得到'M'啊,求解答,谢谢啊!

------解决方案--------------------
#include <stdio.h>

int main ()
{
char c;
puts ("Enter text. Include a dot ('.') in a sentence to exit:");
do {
c=getchar();
putchar (c);
} while (c != '.');
return 0;
}
------解决方案--------------------
C/C++ code
cin.clear();
cin.sync();//这样试试
cin>>c;

------解决方案--------------------
不太明白楼主的意思。
试一试定义一个char的数组咯。
------解决方案--------------------
控制台必然需要一个回车来提交你输入的字符...

倒是记得 C的 getch(e)()能够实现楼主的想法...
------解决方案--------------------
因为c中的字符串用\0结尾...的缘由

for(int n = 0, int m = strlen(string);n < m; n++)
{
putchar(string[n]);
}

//strlen返回字符串长度(不包含\0的长度)