MES3.0はLinuxの下位互換性であり、MES3.0のユーザープログラムは原則としてLinuxでも同じソースコードで動作します。
以下、MES3.0で動作確認されたLinuxとソースコード互換のファイル一覧表示の例です。
#include <stdio.h>
#include <string.h>
#include <dirent.h>
#include <sys/stat.h>
int main(int argc, char** argv) {
DIR *pDir;
struct dirent *pEnt;
struct stat wStat;
int n, len;
char fname[256], *path, *ptr;
path = (argc == 1) ? "." : argv[1];
pDir = opendir(path);
if(pDir == NULL) return -1;
n = 0;
pEnt = readdir(pDir);
while(pEnt) {
strcpy(fname, path);
if(path[strlen(path - 1)] != '/') strcat(fname, "/");
strcat(fname, pEnt->d_name);
stat(fname, &wStat);
if(S_ISDIR(wStat.st_mode)) {
printf("[%-10s]\n", pEnt->d_name);
} else {
printf("%-10s\t%5d[char]\n", pEnt->d_name, (int)wStat.st_size);
}
pEnt = readdir(pDir);
n++;
}
closedir(pDir);
putchar('\n');
return 0;
}