问个TC++的简单问题,请指教
ftway 2003-02-11 11:28:29 #include <stdio.h>
#include <dir.h>
#include <fstream.h>
#include <string.h>
struct FileInfo
{
char *name;
};
void main(void)
{
struct ffblk ffblk;
ofstream oo("1.txt");
int done;
//setdisk(3);
printf("Directory listing of *.*\n");
done = findfirst("*.*",&ffblk,0);
int filenum=0;
while (!done)
{
filenum++;
done = findnext(&ffblk);
}
cout<<filenum<<" file(s) found"<<endl;
FileInfo* cdinfo=new FileInfo [filenum];
done = findfirst("*.*",&ffblk,0);
for(int i=0;!done;i++)
{
cdinfo[i].name=ffblk.ff_name;
cout<<"cdinfo["<<i<<"] "<<cdinfo[i].name<<endl;// why this cout correct
done = findnext(&ffblk);
}
for(i=0;i<filenum;i++)
{
cout<<"cdinfo["<<i<<"] "<<cdinfo[i].name<<endl;//but this is wrong
}
delete[]cdinfo;
}
这段代码,为什么我的机器上前面的cout输出的是正确的,而后面的输出却全部是
cdinfo数组的最后一个元素?
小弟菜鸟,分数也不多,请知道的告诉我答案,谢谢了!