Non va!
ho provato il codice ma ho riscontrato 2 problemi:
1)la sequenza ctrl-break/pausa non fa ciò che dovrebbe fare e come se fosse inibita.
2)il programma resta sempre in attesa di qualcosa e non termina.
come posso risolvere il problema ?
questo è quello cheho scritto:
#include "stdafx.h"
#include <iostream>
#include <windows.h>
using namespace std;
bool CHnd(DWORD CType);
int _tmain(int argc, _TCHAR* argv[])
{
SetConsoleCtrlHandler((PHANDLER_ROUTINE) CHnd,TRUE);
// 3
while (TRUE);
// 1
return 0;
}
bool CHnd(DWORD CType)
{
if (CType ==CTRL_C_EVENT)
{
printf("hai premuto Ctrl-C !\n");
return TRUE;
}
// 2
return FALSE;
}
ho provato a mettere un programmino di prova
int a,b,c;
cout << "inserisci a : ";
cin >> a;
cout << "inserisci b: ";
cin >> b;
c=a+b;
cout << "a+b = " << c << "\n";
c=a-b;
cout << "a- b = " << c << "\n";
return c;
nel punto //1 il programmino non veniva mai eseguito
//2 il programmino veniva eseguito solo dopo che premevo la seguenza ctrl-break
//3 il programmino veniva eseguito ma se premevo la sequenza ctrl-c al primo input il messaggio viene visualizzato
ma il programmino veniva terminato in modo anomalo
i primi 2 casi riesco anche capirli ma il terzo mi è del tutto incomprensibile.
se me lo spieghi mi fai un favore
come posso risolvere il problema ?