UINT CServer::FileListToString( char* buff, UINT nBuffSize,BOOL bDetails )
{
FILE_INF   fi[MAX_FILE_NUM];
int nFiles = GetFileList( fi, MAX_FILE_NUM, "*.*" );
char szTemp[128];
sprintf( buff,"%s","" );
if( bDetails ) {
for( int i=0; i<nFiles; i++) {
if( strlen(buff)>nBuffSize-128 )   break;
if(!strcmp(fi[i].szFileName,"."))  continue;
if(!strcmp(fi[i].szFileName,"..")) continue;
// 时间
SYSTEMTIME st;
FileTimeToSystemTime(&(fi[i].ftLastWriteTime), &st);
char  *szNoon = "AM";
if( st.wHour > 12 ) 

st.wHour -= 12;
szNoon = "PM"; 
}
if( st.wYear >= 2000 )
st.wYear -= 2000;
else st.wYear -= 1900;
sprintf( szTemp,"%02u-%02u-%02u  %02u:%02u%s       ",
st.wMonth,st.wDay,st.wYear,st.wHour,st.wMonth,szNoon );
strcat( buff,szTemp );
if( fi[i].dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
{
strcat(buff,"<DIR>");
strcat(buff,"          ");(请问在这里的空格的个数有规定吗?还是可以随意定的)
}
else 
{
strcat(buff,"     ");
// 文件大小
sprintf( szTemp,"% 9d ",fi[i].nFileSizeLow );
strcat( buff,szTemp );
}
// 文件名
strcat( buff,fi[i].szFileName );
strcat( buff,"\r\n");
}

else

for( int i=0; i<nFiles; i++)
{
if( strlen(buff) + strlen( fi[i].szFileName ) + 2 < nBuffSize )

strcat( buff, fi[i].szFileName );
strcat( buff, "\r\n");

else
break;
}
}
return strlen( buff );
}
这是把当前目录下的文件名按建立的时间,是否是目录,文件名这样的顺序放到缓冲区buff中,我把我要问的问题已写在程序里的括号里,希望达人能帮我解答下,谢谢