#include
#include
using namespace std;
int main()
{
cout << "输入字符串的长度:" << endl;
int num; //你要输入字符串的长度
cin >> num;
getc(stdin); //去掉输入num的换行符
char * p = new char [num + 1]; //动态申请你要输入字符串的长度
memset(p, 0, num+1); //申请的空间初始化为0
gets(p);
*(p+num) = '\0'; //以'\0'结尾
cout << p << endl;
delete[] p; //释放内存
system("pause");
return 0;
}
我去。。。。你搞这么麻烦,还用数组,直接用string不行了
用getline,getline(cin,string),然后把string转化为char的数组即可
具体如下
string r;
getline(cin,r);
char a[10]={0};
memcpy(a,r.c_str(),10);
然后a里面存的就是所需的东西了
一楼那个回复就能用
#include
#include
using namespace std;
void main()
{
char test[100]; // 定义够长的数组空间
for(int i=0;i<100;i++) test[i]='\0';
cin.getline(test,100); // 整行读取(包括空格)
cout<
}
用gets (how are you)试一下吧。