2012-05-28 66 views

回答

11

如果寄存器的内容不会发生包含NULL那么它很简单,只要

call system('some_command', @r) 

。如果碰巧由于使用寄存器作为变量的事实将把它们全部变换成换行符(并且我不知道它们是如何在内部表示的,除了寄存器不像具有寄存器类型的结构和C以NULL结尾的字符串),您不能使用这种方式,而必须粘贴到临时缓冲区并使用:%w !。当寄存器碰巧同时具有NULL(s)和其他非newline作为它的最后一个字符时,如果要能够完整地发送一个寄存器到some_command完全,则它变得更加棘手。

+0

正是我想要的!不知道'system()'带了第二个参数。 – slezica