设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1815|回复: 5
打印 上一主题 下一主题

与io流参合在一起的指针分配的一个问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-4 02:25:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
声明一个可以存放n个字符串的字符串数组,各字符串有用户输入,
数组中的每个元素的大小根据用户输入串的实际长度动态地确定。
(注意!不要使用STL里面的Vector和String等容器)
求助与大家:
2#
发表于 2009-11-4 02:25:44 | 只看该作者
只要大家给出了一个字符串我就会上面的哪个题了:
声明一个字符串数组用来存放用户的输入,字符串有用户输入,
数组的大小根据用户输入串的实际长度动态地确定。
但我想了好久都不会:
所以又来麻烦大家来了:
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-4 02:25:45 | 只看该作者
算发如下:

char *p[n];//n是已知的数
for(int i=0;i<n;i++)
{
int m;
cin>>m;
p[i]=new char[m+1];
cin>>p[i];
}

写的必须存在一些不足 请高手指点指点吧
谢谢了
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-4 02:25:46 | 只看该作者
关键是你是先并不知道用户输入的字符串长度!
所以你上面提到的m是不能解决问题的:
我想至少要用个buffer缓冲吧!
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-4 02:25:47 | 只看该作者
这样的话 那应该怎么办呢?
能写个算法呢
谢谢楼上的了 给我们这样的菜鸟 讲一讲吧
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-4 02:25:48 | 只看该作者
char *p = null;
char *words = null;
char word;
int i;
while(cin>>word && word != '.')
{
p = new char[++i];
if(words != null)
strcpy(p, words);
strcat(p, word);
words = new char[i];
strcpy(words, p);
delete []p;
}

我没编译器,,如果有错自己改改
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 07:34 , Processed in 0.062470 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表