尝试将 str 写入具有特殊文件名 "con" 的文件,但它被打印到标准输出
Try to write str to file with special file name "con", but it's printed to stdout
FILE *fp = fopen("./con", "w");
char *s = "hello!";
fwrite(s, sizeof(char), strlen(s), fp);
fclose(fp);
return 0;
如果我的文件名是 "con",那么 fwrite()
将像 printf()
一样工作。
它是如何工作的?
Windows/DOS 有多个 reserved filenames 包括 CON、PRN、AUX、CLOCK$、NUL
COM1、COM2、COM3、COM4 LPT1、LPT2、LPT3、LPT4 等。
CON
是标准控制台(输出),所以这就是数据的去向。
致谢:@BLUEPIXY @Joachim Pileborg
FILE *fp = fopen("./con", "w");
char *s = "hello!";
fwrite(s, sizeof(char), strlen(s), fp);
fclose(fp);
return 0;
如果我的文件名是 "con",那么 fwrite()
将像 printf()
一样工作。
它是如何工作的?
Windows/DOS 有多个 reserved filenames 包括 CON、PRN、AUX、CLOCK$、NUL COM1、COM2、COM3、COM4 LPT1、LPT2、LPT3、LPT4 等。
CON
是标准控制台(输出),所以这就是数据的去向。
致谢:@BLUEPIXY @Joachim Pileborg