读书人

char *[] 数组 有关问题

发布时间: 2013-08-13 16:43:28 作者: rapoo

char *[] 数组 问题?
我想定义一个char*[] 数组,代码如下


char **filename=new char*[10];
for(int i=0;i<10;i++)
char temp[80];
_snprintf(temp,79,"aa%d.dat",i);
temp[79]=0;

char *path=NULL;
path=(char*)temp;

*(filename+i)=path;

}


for(int j=0;j<10;j++)
{

FILE *File=fopen(filename[pathindex],"rb+");

}


我得到的 filename 数组中,每个值都是一样的。。。。。该如何修改?大侠
[解决办法]

#define MAX_PATH 255
const int g_nFileCount = 10;

int _tmain(int argc, _TCHAR* argv[])
{
char *pFileName[g_nFileCount];
for (int i=0; i<g_nFileCount; ++i)
{
pFileName[i] = new char[MAX_PATH];
}

for(int i=0;i<g_nFileCount;i++)
{
sprintf_s(pFileName[i], MAX_PATH, "aa%d.dat", i);
}

for (int i=0; i<g_nFileCount; ++i)
{
printf("%s\n", pFileName[i]);

}

for (int i=0; i<g_nFileCount; ++i)
{
delete pFileName[i];
pFileName[i] = NULL;
}
}

[解决办法]
lz似乎搞的有点麻烦喽


char **filename=new char*[10];
for(int i=0;i<10;i++)
{
filename[i] = new char[80];
_snprintf(filename[i],79,"aa%d.dat",i);
}


记得释放内存(delete)

读书人网 >C++

热点推荐