|
|
就是说,哪个编译器能成功编译下面的程序?
- #define __STDC_WANT_SECURE_LIB__ 1
- #include <stdio.h>
- #include <string.h>
- #include <stdarg.h>
- void ereport(errno_t ec, char *fmt, ...)
- {
- char es[100]; /* length must be greater than string literal below */
- rsize_t n = sizeof es / sizeof es[0];
- va_list v;
- if (ec) {
- errno_t ec1 = strerror_s(es, n, ec);
- if (ec1)
- strcpy(es, "(cannot generate error message)");
- }
- va_start(v, fmt);
- vfprintf(stderr, fmt, v);
- va_end(v);
- if (ec)
- fprintf(stderr, ": %s\n", es);
- else
- fprintf(stderr, "\n");
- }
- int main(int argc, char *argv[])
- {
- FILE *fp;
- int c;
- errno_t ec;
- if (ec = fopen_s(&fp, argv[1], "r"))
- ereport(ec, "%s: cannot open %s", argv[0], argv[1]);
- while ((c = fgetc(fp)) != EOF)
- putchar(c);
- fclose(fp);
- return 0;
- }
复制代码
我试了好多编译器都没法编译通过,是不是这个标准还是草案啊? |
|