| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1186 人关注过本帖
标题:根据每次从键盘输入字符串的长度,分配一块相应大小的存储区的程序
只看楼主 加入收藏
fzujj
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-9-18
收藏
 问题点数:0 回复次数:8 
根据每次从键盘输入字符串的长度,分配一块相应大小的存储区的程序
根据每次从键盘输入字符串的长度,分配一块相应大小的存储区的程序
搜索更多相关主题的帖子: 字符 键盘 长度 输入 
2007-09-19 00:39
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
char str[256];
cin>>str;
int s = strlen(str);
char *pstr = new char[s+1];
pstr = str;
cout<<pstr<<endl;

=×&D o I p R e E n C g T l X&×=
2007-09-19 11:16
fzujj
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-9-18
收藏
得分:0 

谢谢你的回复,不过那不符合题目的意思。题目要求做到内存最优化。你那样是浪费内存。麻烦哪位帮我改进下面的程序
//根据输入的字符串长度分配相应大小的存储区
#include<iostream>;
using namespace std;
void main(){
int i=0,j=0;
char ch,*p;
cout<<"输入任意的字符串:"<<endl;
while( cin.get(ch)!='13'){
i++;
}
p=new char[i];
cout<<"输入上次输入的字符:"<<endl;
for(j;j<i;j++)
cin>>*(p+j);
for(j=0;j<i;j++)
cout<<*(p+j);
delete p;
}

2007-09-19 13:52
fzujj
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-9-18
收藏
得分:0 
哪位帮帮忙?
2007-09-19 18:18
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 

#include<iostream>;
using namespace std;
void main(){
int i=0;
char *p;
cout<<"输入任意的字符串:"<<endl;
while( cin.get()!='\n'){
i++;
}
p=new char[i+1];
cout<<"输入上次输入的字符:"<<endl;
cin.getline(p,i+1);
cout<<p<<endl;
delete[] p;
}
这样的确是可以,但要输入两次.


#include<iostream>;
using namespace std;
void main(){
int i=0;
cout<<"输入任意的字符串:"<<endl;
if(cin.get()!= '\n')
{
i = cin.gcount(); // 这里只能得到最后所输入的字符数.不能得到全部输入的字符数.所这个方法也不可.
// 如果可以得到全部输入的字符数,就更完美啦.
cin.unget();
char *p=new char[i+1];
cin.getline(p, i+1);
cout<<p<<endl;
delete[] p;
}
}


=×&D o I p R e E n C g T l X&×=
2007-09-19 19:10
fzujj
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-9-18
收藏
得分:0 

非常感谢5楼的,我刚刚接触C++,那是我写的第一个C++程序,C++还有很多没学到,希望多多指教。

2007-09-19 21:41
dlgdd
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-9-18
收藏
得分:0 
牛人啊。第一个居然不是“hello world”
pfpf

2007-09-20 12:02
fzujj
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-9-18
收藏
得分:0 

我学完了C。

2007-09-20 13:35
zhangtuo08
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-2-10
收藏
得分:0 
了然
2011-02-10 14:18
快速回复:根据每次从键盘输入字符串的长度,分配一块相应大小的存储区的程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026439 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved