12.13 为什么这些代码 double d; scanf("%f", &d); 不行?
12.14 怎样在 scanf() 格式串中指定可变的宽度?
12.15 当我用 “%d” 调用 scanf 从键盘读取数字的时候, 好像要多输入 一行函数才返回。
12.16 我用 scanf %d 读取一个数字, 然后再用 gets() 读取字符串, 但是 编译器好像跳过了 gets() 调用!
12.17 我发现如果坚持检查返回值以确保用户输入的是我期待的数值, 则 scanf() 的使用会安全很多, 但有的时候好像会陷入无限循环。
12.18 为什么大家都说不要使用 scanf()?那我该用什么来代替呢?
12.19 我怎样才知道对于任意的 sprintf 调用需要多大的目标缓冲区?怎 样才能避免 sprintf() 目标缓冲区溢出?
12.20 为什么大家都说不要使用 gets()?
12.21 为什么调用 printf() 之后 errno 内有 ENOTTY?
12.22 fgetops/fsetops 和 ftell/fseek 之间有什么区别? fgetops() 和 fsetops() 到底有什么用处?
12.23 如何清除多余的输入, 以防止在下一个提示符下读入?fflush(stdin)可以吗?
12.24 既然 fflush() 不能, 那么怎样才能清除输入呢?
12.25 对某些路径文件名调用 fopen() 总是失败。
12.26 我想用 “r+” 打开一个文件, 读出一个字符串, 修改之后再写入, 从 而就地更新一个文件。可是这样不行。
12.27 怎样在程序里把 stdin 或 stdout 重定向到文件?
12.28 一旦使用 freopen() 之后, 怎样才能恢复原来的 stdout (或 stdin)?
12.29 怎样同时向两个地方输出, 如同时输出到屏幕和文件?
12.30 怎样正确的读取二进制文件?我有时看到 0x0a 和 0x0d 混淆了, 而且如果数据中包含 0x1a 的话, 我好像会提前遇到 EOF。