我试着用这句话开始gvim:
execl("/usr/bin/gvim", "-f", path, (char *)NULL);
Vim: Warning: Output is not to a terminal Vim: Warning: Input is not from a terminal
我不知道怎么解决这个问题。我的意思是,我知道输出不是终端,所以我用 gvim 而不仅仅是 vim . 这可能是很明显的事情,但我就是不知道。
gvim
vim
如果忘记将程序名作为exec的第一个参数,gvim将尝试以终端模式打开。
应该是:
execl("/usr/bin/gvim", "/usr/bin/gvim", "-f", path, (char *)NULL);
从 execl
按照惯例,第一个参数应该指向文件名 与正在执行的文件关联 . 参数列表必须是 此指针必须为强制转换(char*)NULL。