新微赢技术网

标题: 与io流参合在一起的指针分配的一个问题 [打印本页]

作者: 泪在爱上雕刻    时间: 2009-11-4 02:25
标题: 与io流参合在一起的指针分配的一个问题
声明一个可以存放n个字符串的字符串数组,各字符串有用户输入,
数组中的每个元素的大小根据用户输入串的实际长度动态地确定。
(注意!不要使用STL里面的Vector和String等容器)
求助与大家:
作者: 爱(じΩvê)    时间: 2009-11-4 02:25
只要大家给出了一个字符串我就会上面的哪个题了:
声明一个字符串数组用来存放用户的输入,字符串有用户输入,
数组的大小根据用户输入串的实际长度动态地确定。
但我想了好久都不会:
所以又来麻烦大家来了:
作者: X~iao~ping    时间: 2009-11-4 02:25
算发如下:

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

写的必须存在一些不足 请高手指点指点吧
谢谢了
作者: 大陆猪头    时间: 2009-11-4 02:25
关键是你是先并不知道用户输入的字符串长度!
所以你上面提到的m是不能解决问题的:
我想至少要用个buffer缓冲吧!
作者: dd.娘孓    时间: 2009-11-4 02:25
这样的话 那应该怎么办呢?
能写个算法呢
谢谢楼上的了 给我们这样的菜鸟 讲一讲吧
作者: 林枫    时间: 2009-11-4 02:25
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;
}

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




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2