unxi环境高级编程第五章课后习题 |
---|
5.1
|
第五章讲解的文件流,但是S_ISCHR函数的st_mode是关于文件描述符的,所以用fileno变为文件描述符; |
#include<sys/stat.h> #include<stdio.h> #include<unistd.h> int main() { struct stat stat1; fstat(STDIN_FILENO,&stat1 ); if(S_ISCHR(stat1.st_mode)) printf("true"); else printf("false"); } |
在第四章中,S_ISCHR描述的是字符特殊文件,以上代码是验证标准输出是不是文件特殊字符; |
5.2 |
每次只会读取三个,输出三个,如若改换中包括最后一个换行符的字符数超过n-1,则fget只会返回一个不完整的行,单数缓冲区总是一NULl字符结尾,下一次继续调用该行; |
5.3 |
printf返回值为0,表示没有写出任何字符; |
5.4 |
getchar 和putchar的返回值是int类型,而不是char类型。由于EOF经常定义为-1,哪买如果系统使用的是有符号的字符类型,程序可以正常工作。如何使用的是无符号字符类型,返回的EOF被保存到c后将不再是-1,所有程序进入死循环。 |
5.5节,标准I/o流如何使用fsync函数? |
先调用fflush,再调用fsync函数; |
5.6当程序交互运行时,标准输出和标准输入位行缓冲,每次调用fgets时,标准输出将自动冲洗; |
unxi环境高级编程第五章课后习题
最新推荐文章于 2022-12-23 22:17:00 发布