C ++(Unix):用默认的编辑器打开一个文本文件

C ++(Unix):用默认的编辑器打开一个文本文件,第1张

概述C ++(Unix):用默认编辑器打开一个文本文件

问题在上面,我的Googlesearch没有成功。 我想我需要得到默认的编辑器,然后使用system("editor file.txt"); ? 我怎么能得到默认的编辑器?

编辑:我不知道为什么,但stackoverflow不喜欢我的“嘿,”…然后不是。

linux中是否有任何C / C ++编辑器在input时显示错误

如何设置我的GVim感觉像IDE?

(win / linux)文本编辑器,良好的正则Expression式支持

在windows中的文本或日志文件之后。 记事本++也许?

凯特文本编辑器不能处理超过1024的行?

没有官方的解决方案。 这是我建议打开一个文本编辑器:

如果文件扩展名是.txt ,并且$PATH上的xdg-open是可用的, $disPLAY变量是非空的,则使用xdg-open 。 否则使用/usr/bin/sensible-editor如果存在)。 否则,请使用getenv("EDITOR") , getenv("VISUAL")或getenv("SELECTED_EDITOR") 。 如果没有设置,请尝试nano , nano-tiny ,然后vi 。

有一个例子来获取默认的编辑器环境,从visudo(它使用默认编辑器打开sudoers文件)源

/* * Check EDITOR and VISUAL environment variables to see which editor * the user wants to use (we may not end up using it though). * If the path is not fully-qualifIEd,make it so and check that * the specifIEd executable actually exists. */ if ((UserEditor = getenv("EDITOR")) == NulL || *UserEditor == '') UserEditor = getenv("VISUAL"); if (UserEditor && *UserEditor == '') UserEditor = NulL; else if (UserEditor) { if (find_path(UserEditor,&Editor,getenv("PATH")) == FOUND) { UserEditor = Editor; } else { if (def_flag(I_ENV_EDITOR)) { /* If we are honoring $EDITOR this is a Fatal error. */ (voID) fprintf(stderr,"%s: specifIEd editor (%s) doesn't exist!n",Argv[0],UserEditor); Exit(-1); } else { /* Otherwise,just ignore $EDITOR. */ UserEditor = NulL; } } }

您可以查看http://www.opensource.apple.com/source/sudo/sudo-9/sudo/visudo.c获取完整的代码。

总结

以上是内存溢出为你收集整理的C ++(Unix):用默认的编辑器打开一个文本文件全部内容,希望文章能够帮你解决C ++(Unix):用默认的编辑器打开一个文本文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1282871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存