C++中如何将带空格的字符串录入到一个数组中

2024-11-16 20:41:18
推荐回答(4个)
回答1:

#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;

}

回答2:

我去。。。。你搞这么麻烦,还用数组,直接用string不行了
用getline,getline(cin,string),然后把string转化为char的数组即可
具体如下
string r;
getline(cin,r);
char a[10]={0};
memcpy(a,r.c_str(),10);
然后a里面存的就是所需的东西了
一楼那个回复就能用

回答3:

#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<
}

回答4:

用gets (how are you)试一下吧。