动态数组以让您存储字符串或任何数据类型而无需声明它的大小而闻名我的 c++ 面临的问题如下:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char*sentence=new char;
cout<<"enter a sentence (end with *) : ";
cin.getline(sentence,'*');
cout<<"sentence : "<<sentence<<endl;
system("pause");
return 0;
}
cin.getline 不会在字符“*”上停止,因此当我按 Enter 时将设置限制。但如果我只想使用返回键,它将读取字符串的前 9 个字符:
int main()
{
char*sentence=new char;
cout<<"enter a sentence : ";
cin.getline(sentence,'\n');
cout<<"sentence : "<<sentence<<endl;
system("pause");
return 0;
}
但只有当我限制字符数时它才会起作用:
int main()
{
char*sentence=new char;
cout<<"enter a sentence : ";
cin.getline(sentence,100,'*');
system("pause");
return 0;
}
但我想让用户无限制地输入一个句子,如何在不设置 cin.getline 中的字符数或声明动态数组时进行操作。