Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

204
Vistas
C++ (Unix): abre un archivo de texto con el editor predeterminado

La pregunta está arriba y mi búsqueda en Google no tuvo éxito. Supongo que necesito obtener el editor predeterminado y luego usar system("editor file.txt"); ? ¿Cómo podría obtener el editor predeterminado?

Editar: no sé por qué, pero a stackoverflow no le gusta mi "Oye"... entonces no.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

No hay una solución oficial. Aquí está mi recomendación para abrir un editor de texto:

Si la extensión del nombre de archivo es .txt y xdg-open está disponible en $PATH y la variable $DISPLAY no está vacía, utilice xdg-open . De lo contrario, use /usr/bin/sensible-editor si existe. De lo contrario, use getenv("EDITOR") , getenv("VISUAL") o getenv("SELECTED_EDITOR") . Si ninguno de ellos está configurado, pruebe nano , nano-tiny y luego vi .

over 4 years ago · Santiago Trujillo Denunciar

0

Hay un ejemplo para obtener el entorno del editor predeterminado, desde visudo (Usa el editor predeterminado para abrir el archivo sudoers) fuente

 /* * 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 == '\0') UserEditor = getenv("VISUAL"); if (UserEditor && *UserEditor == '\0') 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; } } }

Puede consultar http://www.opensource.apple.com/source/sudo/sudo-9/sudo/visudo.c para obtener el código completo.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda