看clear 后面跟什么了
CLEAR [ALL | CLASS ClassName | CLASSLIB ClassLibraryName | DEBUG | DLLS。
[cAliasNameList]| EVENTS | ERROR |FIELDS | GETS | MACROS | MEMORY 。
| MENUS | POPUPS | PROGRAM | PROMPT | READ [ALL] | RESOURCES 。
[FileName] | TYPEAHEAD | WINDOWS]。
参数
ALL
从内存中释放所有的内存变量和数组以及所有用户自定义的菜单栏, 菜单, 和窗口的定义。CLEAR ALL 也能关闭所有表,包括所有相关的索引, 。
格式文件和备注文件, 并选择 1 号工作区。CLEAR ALL 还从内存中释放所有用 DECLARE - DLL 。
注册的外部共享库函数(即DLL链接库函数)。CLEAR ALL 不释放系统内存变量,也不清除已编译程序的缓冲区。使用 CLEAR PROGRAM 。
来清除已编译程序的缓冲区。在活动控件或对象的事件或方法中发出 CLEAR ALL 命令,Visual FoxPro 。
将产生一条错误信息。当对象类型内存变量的相关控件或对象活动时,不能将其从内存中释放。
CLASS ClassName 。
从内存中清除一个类定义。当创建了一个类的实例,释放该实例后,Visual FoxPro 仍在内存中保存类定义。释放实例后,应适用 CLEAR CLASS 。
从内存中清除类定义。
CLASSLIB
ClassLibraryName 。
从内存中清除所有包含在可视类库中的类定义。如果类库中的类的实例仍然存在,则不从内存中清除类定义。但是,内存中所有没有实例的类定义都会被清除。
DEBUG
清除所有“调试器”中的断点并“调试器”窗口(调用堆栈, 跟踪, 监视, 等等)到他们的默认位置。如果 Clear Debug 。
在调试器关闭时使用,则在默认位置打开调试器窗口。工作在 fox 或调试器框架模式中。
DLLS
cAliasNameList 。
清除内存中用 DECLARE - DLL 注册的外部外部共享库 (即DLL链接库) 。 cAliasNameList 。
是一个要从内存中移去的逗号分隔的函数别名列表,如下例:
复制代码
CLEAR DLLS "RegCloseKey","RegOpenKey"。
如果在声明中未使用别名,
cAliasNameList 与函数名相同。如果未指定 cAliasNameList,所有 DLLS 都将从内存中移去。您可以使用 。
ADLLS( ) 函数 来确定有哪些 DLL 。
被载入了。有关注册外部共享库函数的更多信息,参见 DECLARE - DLL 命令 。
ERROR *NEW
如果没有发生错误,则重置 Visual FoxPro 错误结构。后面的函数将重置为它们的默认值:AERROR( ) 函数 (重置为 0). ERROR( ) 函数 (重置为 0). MESSAGE( ) 函数 (重置为空字符串). MESSAGE( ) 函数 (重置为空字符串). SYS(2018) - 错误信息参数 。
(重置为空字符串)。应避免在 TRY...CATCH...FINALLY 命令 中使用 。
CLEAR ERROR ,尤其是如果使用 TRY...CATCH...FINALLY 命令 。
时重置一个错误,则可能不再正确。
EVENTS
停止以 READ EVENTS 开始的事物处理。当执行 CLEAR EVENTS 后,程序从 READ EVENTS 的下一条程序行继续执行。
FIELDS
释放用 SET FIELDS 命令创建的列表,并执行 SET FIELDS OFF。 CLEAR FIELDS 与 SET FIELDS TO 。
的不同之处在于,它释放所有工作区中的所有字段列表,不仅仅是当前工作区中的字段列表。另外,SET FIELDS TO 不会隐含执行 SET FIELDS OFF。
GETS
释放所有等待的 @ ... GET 控件。执行 CLEAR 也可以释放所有等待的 @ ... GET 控件。
注意:
GETS 包含向后兼容性。
MACROS
从内存中释放所有键盘宏,包括任何使用 SET FUNCTION 指定的功能键定义。可用 SAVE MACROS 。
将宏存入一个宏文件或备注字段中,并在以后用 RESTORE MACROS 命令还原。也可以用 RESTORE MACROS 恢复默认宏。
MEMORY
从内存中释放所有全局内存变量和私有内存变量以及数组。系统内存变量不会不释放。
MENUS
从内存中释放所有的菜单栏定义。
POPUPS
从内存中释放所有由 DEFINE POPUP 创建的菜单定义。
PROGRAM
清除已编译程序的缓冲区。Visual FoxPro 保持最近执行程序的缓冲区。在很少见的情况下,Visual FoxPro 。
可能不认可对磁盘上程序文件的修改。CLEAR PROGRAM 强制 Visual FoxPro 从磁盘上而不是程序缓冲区中读去程序。Visual FoxPro 。
不认可对程序文件所做更改的可能性产生于,使用了外部或常驻内存(TSR)编辑器修改程序文件。除此之外,不必使用 CLEAR PROGRAM。
PROMPT
释放由 @ ... PROMPT 创建的菜单项。
READ [ALL]
包含向后兼容性。用 CLEAR EVENTS 代替。
RESOURCES [
FileName]
指定要从内存中清除的被缓存的位图, 图形, 字体, 光标, 或图标文件的名字。如果没有指定文件名,所有位图, 图形, 字体, 。
光标和图标文件都从内存中移去。当 Visual FoxPro 显示一个位图, 图形, 光标, 图标, 。
或字体资源时,为了优化性能,这些资源将被缓存。如果使用了同名资源(例如,一个与已缓存位图具有相同名字的不同的位图),Visual FoxPro 。
不重新载入资源。清除资源文件来从内存中移去一个图形映象,并强制 Visual FoxPro 。
从磁盘上重新载入同名映像是很有用的。例如,一个报表可能从数据库中显示图形映象,它们的名字都是 TEMP;但是,因为它们具有相同名字,Visual FoxPro 。
不会重新载入各个新的图形,除非使用 CLEAR RESOURCES 命令从内存中清除已存在的图形。如果一个特殊的资源仍在 Visual FoxPro 。
中使用,则使用 CLEAR RESOURCES 命令不能清除它。
TYPEAHEAD
清除键盘缓冲区。若要在显示字段或提示之前,禁止向字段输入或对提示应答,CLEAR TYPEAHEAD 很有用。
WINDOWS
释放内存中所有用户自定义窗口的定义,并从 Visual FoxPro 主窗口或活动的用户自定义窗口中清除窗口。使用 SAVE WINDOW 。
可将窗口定义存入文件或备注字段以备后用。发出 CLEAR WINDOWS 将释放任何对表单的内存变量引用。
vfp一般有两个窗口 一个是命令窗口 一个是主窗口 在命令窗口中输入clear 主窗口的所有内容就会清空 clear 其实就是清屏。
恕我不能回答第一个问题,因为我从来没见过把rdbuf()的返回值打印的写法。c++primer是很多年前看的了,如果我没记错的话,书里面也没有把rdbuf()的返回值直接打印的例子吧(如果我记错了,请指出)
事实上,在我的机器上,最后一句可以打印出4.txt余下的内容。这个事实也间接回答了你第二个问题。是否需要clear()操作才能重用流对象取决于可能很多因素,所以有些机器上你不需要clear,有些机器上你必须clear否则会报错。
c++ primer的意思是,如果你想写出优秀的代码,可复用的代码,那么你必须写clear,否则你不知道在谁的机器上这代码可能不能运行。
你可以把你的4.txt的内容贴出来,看看在我机器上运行结果如何。
清除 Err 对象的所有属性设置。
语法
object.Clear
object 应为 Err 对象的名称。
说明
在错误处理后,使用 Clear 显式地清除 Err 对象。此操作是必须的,例如使用 On Error Resume Next 延迟错误处理时。在任何时候执行下列语句,VBScript 自动调用 Clear 方法:
On Error Resume Next 。
Exit Sub
Exit Function 。
指令:clear
用途:清除萤幕用。
使用方法:在 console 上输入 clear。
名称: reset, tset 。
使用方法: tset [-IQqrs] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal] 。
使用说明:
reset 其实和 tset 是一同个命令,它的用途是设定终端机的状态。一般而言,这个命令会自动的从环境变数、命令列或是其它的组态档决定目前终端机的型态。如果指定型态是 ? 的话,这个程式会要求使用者输入终端机的型别。
由于这个程式会将终端机设回原始的状态,除了在 login 时使用外,当系统终端机因为程式不正常执行而进入一些奇怪的状态时,你也可以用它来重设终端机o 例如不小心把二进位档用 cat 指令进到终端机,常会有终端机不再回应键盘输入,或是回应一些奇怪字元的问题。此时就可以用 reset 将终端机回复至原始状态。选项说明: 。
-p
将终端机类别显示在萤幕上,但不做设定的动作。这个命令可以用来取得目前终端机的类别。
-e ch
将 erase 字元设成 ch 。
-i ch
将中断字元设成 ch
-k ch
将删除一行的字元设成 ch
-I
不要做设定的动作,如果没有使用选项 -Q 的话,erase、中断及删除字元的目前值依然会送到萤幕上。
-Q
不要显示 erase、中断及删除字元的值到萤幕上。
-r
将终端机类别印在萤幕上。
-s
将设定 TERM 用的命令用字串的型式送到终端机中,通常在 .login 或 .profile 中用 。
范例:
让使用者输入一个终端机型别并将终端机设到该型别的预设状态。
# reset ?
将 erase 字元设定 control-h 。
# reset -e ^B
将设定用的字串显示在萤幕上
# reset -s
Erase is control-B (^B). 。
Kill is control-U (^U). 。
Interrupt is control-C (^C). 。
TERM=xterm;
Clear
功能:删除数据窗口控件的编辑框中所选内容 。
语法:dwcontrol.Clear ( ) 。
参数:dwcontrol 数据窗口控件名 。
返回值: Long 函数执行成功时返回删除的字符个数,如果在编辑框中未选择任何内容,则不删除任何字符, 函数返回0。 如果函数执行出错,则返回-1。 如果dwcontrol 的值为NULL, 则Clear()函数返回NULL 。
用法: 除了程序中使用Clear()函数删除数据窗口控件上编辑框中所选内容外,用户使用键盘,按Del 键 或鼠标同样可以删除所选内容,代码中可以使用数据窗口控件对象函数 SelectText()选择某段文本 。如果希望删除所选文本并将被删文本放置到系统剪贴板上 那么请使用数据窗口控件的对象函数Cut()。
1.当你的技能处于公共CD的时候,你仍然狂按它,系统就会提示:“我还不能使用这个技能!”等等。/script UIErrorsFrame:Clear()语句可以把这些提示隐藏并清除。
2./cast !自动射击 意思是发射一次自动射击。
/cast 自动射击 意思是 开启/关闭 自动射击。
你可以把 /cast !自动射击 理解为按了2次自动射击,开启以后射出一支箭,又关闭了。
举个例字:
/cast 稳固射击
/cast !自动射击
这样的一个宏,稳固射击后,再自动射击一次,如此循环。
下面这个就不一样了:
/cast 稳固射击
/cast 自动射击
第一轮,稳固射击后,自动射击一次,并且自动射击开启。第二轮,稳固射击后,你又按了一下自动射击,这时你就把自动射击关闭拉,第二轮只进行了一次稳固射击。第三轮,又开启了自动射击……如此循环 。
我这样解释,你明白了吗?