首先,我这样做没有得到用户的长度。这是:
#include <iostream>
using namespace std;
int main()
{
char *str;
cout<<"Enter Characters:";
str=new char[];
cin>>str;
cout<<"\nstr="<<str;
system ("pause");
return 0;
}
现在我尝试从用户那里获取输入长度。这是:
#include <iostream>
using namespace std;
int main()
{
char *str;
int len;
cout<<"Enter Characters:";
str=new char[];
cin>>str;
cout<<"Enter length of your entered character:";
cin>>len;
char *ptr=str;
ptr=new char[len];
cout<<"\nptr="<<ptr;
system ("pause");
return 0;
}
这显示了输出中的一些奇怪的东西而“cout(ing)”“ptr”,我不知道是什么! 如果这是错误的,我怎样才能从用户那里获取输入? 如果我编辑第一个程序,那么我不能接受输入,直到这行“str = new char [];”被执行。并且长度只能在此行中给出。 并且只有在获取字符串之后才能给出长度。
答案 0 :(得分:0)
你有一些错误,但主要是:
str = new char[];
这不是有效的C ++语法。您应该指定已分配内存的大小。但如果你不知道,你需要多少内存,你应该使用std::string
:
#include <iostream>
#include <string>
int main()
{
std::string str;
std::cin >> str;
std::cout << "str = " << str << std::endl;
return 0;
}
另一个问题 - 每new
个内存应为delete
d。