03/12/11 17:17
el cuba libre
Ciao
premetto che è il mio primo programma con l'utilizzo di thread!XD
sto sviluppando un semplice programma che presa la stringa scambia l'ultima e la prima lettera a ogni pressione di tasto. per esempio la stringa pippo alla prima pressione di un tasto diventerà opipp poi popip successivamente ppopi e cosi via.
tutto questo mentre la stringa viene stampata a intervalli regolari. il problema è che appena pigio un tasto il programma interrompe la sua esecuzione.
qualcuno mi può aiutare?
grazie
premetto che è il mio primo programma con l'utilizzo di thread!XD
sto sviluppando un semplice programma che presa la stringa scambia l'ultima e la prima lettera a ogni pressione di tasto. per esempio la stringa pippo alla prima pressione di un tasto diventerà opipp poi popip successivamente ppopi e cosi via.
tutto questo mentre la stringa viene stampata a intervalli regolari. il problema è che appena pigio un tasto il programma interrompe la sua esecuzione.
#include "stdafx.h" #include <windows.h> #include <iostream> #include <stdlib.h> #include <time.h> #include <conio.h> #include <time.h> using namespace std; char stringa []="pippo"; DWORD funz1 (LPDWORD lpdwParam) { for(int i(0); i<100;i++) { Sleep(1000); cout<<stringa; } return 0; } int _tmain(int argc, _TCHAR* argv[]) { DWORD dwThreadId, dwThrdParam = 1; int v(0); int lunghezza=strlen(stringa); HANDLE thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) funz1, &dwThrdParam, 0, &dwThreadId); int min=0; char c,s; srand(time(NULL)); while(true) { if(kbhit()) { getch(); s=stringa[min]; stringa[min]=stringa[lunghezza]; stringa[lunghezza]=s; if(lunghezza==3) lunghezza=4,min=0; else min++,lunghezza--; } } return 0; }
qualcuno mi può aiutare?
grazie
aaa