注册 登录
编程论坛 C++教室

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

lixang 发布于 2007-03-05 17:45, 403 次点击
声明一个可以存放n个字符串的字符串数组,各字符串有用户输入,
数组中的每个元素的大小根据用户输入串的实际长度动态地确定。
(注意!不要使用STL里面的Vector和String等容器)
求助与大家:

5 回复
#2
lixang2007-03-06 12:58
只要大家给出了一个字符串我就会上面的哪个题了:
声明一个字符串数组用来存放用户的输入,字符串有用户输入,
数组的大小根据用户输入串的实际长度动态地确定。
但我想了好久都不会:
所以又来麻烦大家来了:
#3
heliujin2007-03-06 17:07

算发如下:

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
lixang2007-03-06 17:30
关键是你是先并不知道用户输入的字符串长度!
所以你上面提到的m是不能解决问题的:
我想至少要用个buffer缓冲吧!
#5
heliujin2007-03-08 09:29
这样的话 那应该怎么办呢?
能写个算法呢
谢谢楼上的了 给我们这样的菜鸟 讲一讲吧
#6
dlcdavid2007-03-10 00:36
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;
}

我没编译器,,如果有错自己改改

[此贴子已经被作者于2007-3-10 0:39:39编辑过]

1