Linux, Qt Creator. J'ai lancé ceci dans un débogueur:
#include <stdio.h>
char p[1000];
int main()
{
scanf("%s",p);
return 0;
}
Ça marche. Cependant, aucun terminal n'apparaît lorsque je double-clique sur l'exécutable (Windows le fait contrairement à Linux). Je suppose que je dois en créer un. Par exemple, comme ceci:
system("/usr/bin/x-terminal-emulator");
Maintenant, j'ai besoin de communiquer avec elle. Comment? Je vous remercie.
J'ai créé un programme en invoquant un programme en invoquant un programme. La ligne clé dans le premier est:
execl("/usr/bin/x-terminal-emulator", "/usr/bin/x-terminal-emulator",
"-e", "/home/kkk/build-untitled-Desktop-Debug/untitled",
"/home/kkk/Downloads/1.pdf", (char*) NULL);
Windows fait la distinction entre les exécutables "console uniquement" et les exécutables graphiques et si vous démarrez l'un des précédents, la console s'ouvrira pour vous.
Linux n'a pas cette distinction - tous les exécutables sont à peu près les mêmes. Si vous essayez de démarrer un depuis un gestionnaire de fichiers (en double-cliquant), essayez de lire à partir de l’entrée standard, recevez la marque EOF (car le programme n’est attaché à aucun terminal ) et quitter.
Certains gestionnaires de fichiers peuvent vous proposer l'option "Exécuter dans un terminal". Je ne sais pas si votre gestionnaire de fichiers peut être configuré pour le faire.