FILENAME_MAX是C語言標準庫stdio.h中的一個宏常量,它表示我們所使用的編譯器所支持的最長的合法檔案名稱,在VC++6.0中這個值為260。
基本介紹
- 中文名:極限數目
- 外文名:FILENAME_MAX
- 類型:語言
- 載體:計算機
- 性質:一個宏常量
案例
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
typedef struct _stat StatusInfo;
#define __STR(const_num) # const_num
#define STR(const_num) __STR(const_num)
int main(void)
{
char filename[FILENAME_MAX] = { '\0' };
StatusInfo buf;
StatusInfo *pbuf = &buf;
fputs("Please input file name >>> ", stdout);
scanf("%"STR(FILENAME_MAX)"s", filename);
if ( _stat(filename, &buf) != 0 ) {
switch (errno) {
case ENOENT:
fprintf(stderr, "Error: File %s not found.\n", filename);
break;
case EINVAL:
fprintf(stderr, "Error: Invalid parameter to _stat.\n");
break;
default:
fprintf(stderr, "Error: Unexpected error in _stat.\n");
break;
}
} else {
printf("File size : %ld bytes\n", pbuf->st_size);
printf("Drive : %c:\n", pbuf->st_dev + 'A');
printf("Time modified: %s\n", ctime(&pbuf->st_mtime));
}
return EXIT_SUCCESS;
}