感觉很简单的一个有关问题,就是解决不了!郁闷

感觉很简单的一个问题,就是解决不了!郁闷~
# include<iostream.h>


void main(void)

int x;
char b[48];
cout<<"输入一整数:\n";
cin>>x;
cout<<"输入一行字符串\n";
cin.getline(b,48);
cout<<b<<'\n';
}

为什么b[]48中,不能输入啊






------解决方案--------------------
memset(b,0,49);
------解决方案--------------------
把iostream.h换成iostream
------解决方案--------------------
怎么不能输入了?
------解决方案--------------------


void main(void)

int x;
char b[48];
cout <<"输入一整数:\n";
cin>>x;

cout <<"输入一行字符串\n";
fflush(stdin);=========================> add this
cin.getline(b,48);
cout <<b <<'\n';


------解决方案--------------------
如果楼主真的在学C++,就用string b取代char b[48]
用getline(cin, b)和cin.sync();
------解决方案--------------------
探讨
如果楼主真的在学C++,就用string b取代char b[48]
用getline(cin, b)和cin.sync();

------解决方案--------------------
getline是c++文件io流的读写函数.表示从指定的文件中读取一行.
建议改为
#include <iostream.h> 
#include <cstdio>


void main(void) 
{
int x; 
char b[48]; 
cout <<"输入一整数:\n"; 
cin>>x; 
cout <<"输入一行字符串\n"; 
gets(b); 
cout <<b <<'\n'; 


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


void main(void) 
{
int x; 
char b[48]; 
cout <<"输入一整数:\n"; 
cin>>x; 
cin.get();cout <<"输入一行字符串\n"; 
cin.getline(b,48); 
cout <<b <<'\n'; 

输入流中留着一个‘\n’,直接被getline接收了。
------解决方案--------------------
我 不知道,以上几楼有没有测试过你们的程序,试试我的方法:

void main(void) 
{
int x; 
char b[48]; 
cout <<"输入一整数:\n"; 
cin>>x; 
cin.getline(b,48);// [b]在此添加此行,让换行符读出来[/b]
cout <<"输入一行字符串\n"; 
cin.getline(b,48); 
cout <<b <<'\n'; 
}