怎样c++在一定长度内输入任意长度的字符数组

sanqingxucheng 2011-07-02 12:13:25
char str[100];
int i=0,j;
do
{
i++;
cin>>str[i];

}while(str[i]!=‘\0’);
这个对吗?
...全文
937 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liutengfeigo 2011-07-02
  • 打赏
  • 举报
回复
string 可以.
liuying_1001 2011-07-02
  • 打赏
  • 举报
回复

#include <iostream>
#include <string>
using namespace std;

int main(int argc, char* argv[])
{

int num;
cout<<"please input the dimension you want to create"<<endl;
cin>>num;
char *str = (char*)new char(num);
int i=0;
do
{
i++;
cin>>str[i];

}while(str[i]!='q');
cout<<str<<endl;

delete []str;
return 0;
}
可以动态的创建数组的大小,如果是char[100]这种形式需在编译时确定数组大小,而用new可以在分配时再确定。希望对lz有用。
ccnyou 2011-07-02
  • 打赏
  • 举报
回复
明白lz意思,但代码不对,结束条件应该是while(str[i] != '\n');,因为输入是按回车结束的
ryfdizuo 2011-07-02
  • 打赏
  • 举报
回复
char str[100] = {0};
cin >> str; 小于100的都可以。
liuying_1001 2011-07-02
  • 打赏
  • 举报
回复
char *str = (char*)new char(num); 改为
char *str = (char*)new char[num];
两者意思不一样

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧