-
问题:
“Segmentation violation”, “Bus error” 和“General protect...
-
这些功能跟你所用的终端类型(或显示器) 有关。SPan>
你需要使用termcap, terminfo 或curses 类的函数库, 或者系统提供的特殊函数。SPan>
...
-
terminfo, 某些版本的termcap, 以及某些版本的curses 函数库有对这些非ASCII 键的支持。SPan>
典型的, 一个特殊键会发送一个多字符序列(通常以...
-
如果文件大小指的是你从C 程序中可以读进的字符数量, 要得到这个精确的数字可能困难或不可能。SPan>
Unix 系统函数stat() 会给出准确的答案。SPan>
有...
-
试试能否使用opendir() 和readdir() 函数, 它们是POSIX 标准的一部分, 大多数Unix 变体都支持。SPan>
MS-DOS, VMS 和其它系统下也...
-
一台合理的电脑应该可以让你透明地访问所有的有效内存。
如果, 你很不幸, 你可能需要重新考虑程序使用内存的方式, 或者用各种针对系统的技巧。
64K 仍然是一块相当大的内存。
...
-
Unix 和其它一些系统提供了popen() 函数, 它在联通运行命令的进程管道设置了stdio 流, 所以输出可以被读取(或提供输入)。SPan>
记住, 结束使用后, 要...
-
这有可能完全做不到。SPan>
不同的系统使用不同的方法来实现像Unix 系统的全局名字/值功能。SPan>
环境是否可以被运行的进程有效的改变, 以及如果可以, 又怎...
-
“不能使用非标准、依赖系统的函数,程序需要兼容ANSI!”
你很不走运。SPan>
要么你误解了要求, 要么这不可能做到。SPan>
ANSI...
-
我似乎不能成功定义一个链表。我试过typedef struct { char*item; NODEPTR next; } *NODEPTR; 但是编译器报了错误信息。难道在C语言中...
-
它可以用作一种格式上的提示表明函数的定义可能在另一个源文件中,SPan>
但在SPan>
&nbSP; &nbSP;extern int f();SPan>
和...
-
首先, 尽管一个全局变量或函数可以(在多个编译单元中) 有多处“声明”, 但是“定义” 却只能允许出现一次。
定义是分配空间并赋初...
-
这是用来防护一个通常错误的小技巧:
&nbSP; &nbSP;if (x = 0)
如果你养成了把常量放在== 前面的习惯, 当你意外的把代码写成了:
&nbSP; &nbs...
-
用vprintf(), vfprintf() 或vSPrintf()。SPan>
下面是一个error() 函数, 它列印一个出错信息, 在信息前加入字符串“er...
-
用<stdarg.h>提供的辅助设施。
下面是一个把任意个字符串连接起来的函数, 结果存在malloc 的内存中:
#include <stdlib.h>...
-
许多实现高质量IEEE 浮点的系统会提供简洁的工具去处理这些特殊值。SPan>
例如, 在<math.h> 以非标准扩展功能, 或可能以<ieee.h>...
-
浮点数的定义决定它的绝对精确度会随着其代表的值变化, 所以比较两个浮点数的最好方法就要利用一个精确的阈值。
&nbSP;
这个阈值和作比较的浮点数值大小有关。
&nbSP;
...
-
大多数电脑都是用二进制来表示浮点和整数的。SPan>
在十进制里, 0.1 是个简单、精确的小数, SPan>
但是用二进制表示起来却是个循环小数0.000110011...
-
直接做不到这点。
但是你可以写出你自己的printf 变体, 把所有的内容都输出两次。
下边有个简单的例子:
#include <stdio.h>
#inclu...
-
这取决于你要做什么。SPan>
如果你希望丢掉调用scanf() (参见问题12.16 - 12.17)之后所剩下的换行符和未预知的输入, 你可能需要重写你的scanf() ...