Où trouver la fonction int86?

Bonsoir à tous,
Je cherche quel fichier en-tête (fichier .h) contient la fonction int86.
Quelqu’un saurait-il quel(s) fichier(s) dois-je inclure pour pouvoir l’utiliser (sous Windows et sous Linux)?
Merci d’avance.

Connais pas. Elle fait quoi ?

Elle serait censée effacer l’écran en mode console (sous Windows) avec ce code:

union REGS inregs, outregs; inregs.h.ah = 0x00; inregs.h.al = 0x03; int86(0x10, &inregs, &outregs);

Bonjour,

C’est un appel d’interruption du DOS. Le fichier d’entête était <dos.h> lorsque je l’utilisait il y a quelques (nombreuses) années.

[quote=“Procyon”]Bonjour,

C’est un appel d’interruption du DOS. Le fichier d’entête était <dos.h> lorsque je l’utilisait il y a quelques (nombreuses) années.[/quote]

J’ai beau chercher dans le dos.h de Code::Blocks, pas de int86 déclaré.

Cette fonction existait sous les compilo Turbo-C ou DJGPP et ne fonctionne que sous DOS ou Windows. Ca m’étonnerais que tu la trouve sous Linux.

Sous Linux, ça c’est mon affaire, mais j’aimerais d’abord connaître le nom du fichier .h à inclure pour pouvoir utiliser cette librairie (en sachant que ce n’est ni le dos.h de Code::Blocks ni celui de Borland C++ 5 qui possèdent cette entrée.)

Je persiste et signe. C’est un appel des interruptions du DOS (dans ton cas l’INT 10h qui gère l’écran). Si ton compilo ne possède pas de dos.h, c’est qu’il ne gère pas ces fonctions.

Par contre, si tu veux effacer l’écran de la console, tu peux peut-être essayer printf("\033[H\033[2J"); qui correspond à l’envoi de séquence Escape en VT100 (ESC [ H pour la position home et ESC [ 2 J pour effacer l’écran).

C’est sous quel os que c’est sensé effacer l’écran?

dos.h, il est dans le dossier include du compilo de Code::Blocks ainsi que dans celui du compilateur fabriqué par Borland, mais il n’y a ni les déclarations pour ces éléments:

Donc, cette fonction est obsolète. Essaie la fonction printf que je t’ai donné.

Voilà le retour de ta fonction (sous Windows):
Cf image ci-jointe.

Ah effectivement, sous Windows ca ne fonctionne pas en natif. Désolé, je n’ai jamais programmé sous Windaube. Va voir cette page, il te donne une solution http://www.commentcamarche.net/forum/affich-250870-effacer-la-console-en-c

Merci.
J’essaierais ta fonction demain matin.
Bonne nuit.

Salut,

Je suis de ton avis.

Ayant pas mal utilisé l’horrible turbo c et l’ayant toujours dans un qemu, je confirme qu’elle est censé être dans dos.h:
[attachment=0]int86.png[/attachment]

Et que si ça n’est plus présent c’est qu’il y a une raison, laquelle…

Linux78,

Pourquoi n’utilises tu pas clrscr() dans conio.h ? Ca me parait le plus simple :slightly_smiling:

clrscr(), elle fonctionne au moins sous Windows et Linux cette fonction?
EDIT:Code::Blocks ne reconnaît pas cette fonction (même avec un #include <conio.h>.
EDIT2: J’ai trouvé la fonction dans le fichier conio2.h fourni par un devpak mais code::Blocks me sort cette erreur alors que j’ai mis ce fichier dans son répertoire include:

obj\Debug\utils.o||In function `EffacerEcran':| D:\Projet C\ProjetSkipper\utils.c|16|undefined reference to `clrscr'| ||=== Build finished: 1 errors, 0 warnings ===|
Tu n’aurais pas une solution?

Ta fonction produit le résultat suivant sous Windows (cf photo ci-jointe).