Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

initialisation des coordonnées x,y sur un terminal linux



  1. #1
    tonyrx

    Exclamation initialisation des coordonnées x,y sur un terminal linux


    ------

    Bonjour,

    Je vous explique mon problème : j'ai envie d'afficher un fichier txt (qui contient un petit dessin en ascii étendu) sur le terminal d'Ubuntu. Le fait est que j'y arrive, mais je ne sais pas comment l'afficher selon des coordonnées x,y.
    Auriez-vous une solution à me proposer ?
    (Le code utilisé est du C)

    Je vous remercie de votre attention.

    -----

  2. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #2
    gienas
    Modérateur

    Re : initialisation des coordonnées x,y sur un terminal linux

    Bonsoir tonyrx et tout le groupe

    Citation Envoyé par tonyrx Voir le message
    ... j'ai envie d'afficher un fichier txt ... sur le terminal d'Ubuntu ...
    Ce type de problématique n'est pas du ressort de
    l'électronique comme indiqué dans l'épinglé suivant:

    http://forums.futura-sciences.com/el...de-poster.html

    qu'il convient de lire avant de poster sa question.

    La discussion va donc être déplacée vers le forum le plus adapté.

  5. #3
    vande545

    Re : initialisation des coordonnées x,y sur un terminal linux

    bonjour

    La discussion va donc être déplacée vers le forum le plus adapté.
    En l’occurrence, Programmation et langage eut été plus opportun !

  6. #4
    pm42

    Re : initialisation des coordonnées x,y sur un terminal linux

    J'ai du mal à comprendre ce que tu veux faire : pour afficher un fichier txt, pas besoin de code C.

    En code C, pour contrôler la position du texte sur le terminal, il faut utiliser une librairie comme ncurses.

  7. A voir en vidéo sur Futura
  8. #5
    JPL
    Responsable des forums

    Re : initialisation des coordonnées x,y sur un terminal linux

    Citation Envoyé par vande545 Voir le message
    En l’occurrence, Programmation et langage eut été plus opportun !
    Discussion déplacée.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  9. #6
    tonyrx

    Re : initialisation des coordonnées x,y sur un terminal linux

    Je vous remercie de votre réponse.
    Voici le code que j'ai fais afin d'afficher mon fichier txt:
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(){
    FILE*file;
    char c;
    file = fopen("vallier.txt","r+");
    while((c=fgetc(file))!=EOF){
        printf("%c",c);
        }
        fclose(file);
        return 0;
    
    }
    Il existe peut être une manière plus simple mais je ne la connais pas.
    A quoi sert exactement la librairie ncurses ? Et comment l'utilise t-on si ce n'est pas trop vous demander.
    Dernière modification par JPL ; 21/10/2021 à 14h30. Motif: ajout de la balise Code (#) pour garder l’indentation

  10. Publicité
  11. #7
    umfred

    Re : initialisation des coordonnées x,y sur un terminal linux


  12. #8
    pm42

    Re : initialisation des coordonnées x,y sur un terminal linux

    Ceci dit, dans le cas présent, je me demande si cela va servir à quelque chose. Le code fait bien le truc le plus bête qui soit, lire le fichier et l'afficher de façon inefficace mais qui devrait marcher. C'est "cat" en Unix, "type" en Windows.
    Reste à savoir quel est le besoin exact et le problème avec cette méthode.

  13. #9
    polo974

    Re : initialisation des coordonnées x,y sur un terminal linux

    il y a une doc des codes de contrôle de console:
    Code:
    man 4 console_codes
    et pour faire juste un positionnement, il "suffit" de faire un:
    Code:
    int lig = 5;
    int col = 13;
    printf ("\x1b[%d;%df", lig, col);
    ça marche aussi en shell (petits changements d'écriture):
    Code:
    lig=5
    col=13
    printf '\x1b[%d;%df' $lig $col

    sachant que ça commence à 1,1 en haut à gauche.

    mais c'est une méthode moins clean que ncurses, vu qu'on part du principe qu'on est en émulation VT102, ce qui n'est pas toujours forcement le cas...

    https://arnaud-feltz.developpez.com/...ge=premier_pas

    mais attention, ncurses change le setting de la console, et on risque de se retrouver avec un comportement inattendu pour le commun des mortels si on kill le programme... (voir les stty au tout début du lien donné (attention le commentaire de la ligne -raw est à l'envers, vu que - dit qu'on annule le mode raw, donc qu'on passe en cooked...))
    Jusqu'ici tout va bien...

Discussions similaires

  1. communiquer par terminal avec FTDI/ELM327 sous linux
    Par hary dans le forum Matériel - Hardware
    Réponses: 1
    Dernier message: 16/05/2015, 13h58
  2. Utiliser le terminal linux pour compiler en C
    Par Anna-prog dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 06/06/2013, 00h10
  3. Redoublement terminal sti vers terminal bac pro
    Par alexcli dans le forum Orientation avant le BAC
    Réponses: 9
    Dernier message: 08/07/2012, 18h31
  4. Linux - Commande dans le terminal
    Par philouxy dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 14/04/2012, 19h11
  5. couleurs dans le terminal linux
    Par fanchois dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 13/01/2009, 16h00