[C] Przerwanie pętli za pomocą esc (kod ASCII)
Ostatnio zmodyfikowano 2016-05-23 20:16
skladak Temat założony przez niniejszego użytkownika |
[C] Przerwanie pętli za pomocą esc (kod ASCII) » 2016-05-23 19:33:25 Cześć, Mam problem z pewnym zadaniem. To jest jego fragment: - poproś użytkownika o podanie długości sms-a i tę wartość wykorzystaj do utworzenia dynamicznej tablicy znaków; - wczytaj do tej tablicy cały sms ze stdin znak po znaku, aby w momencie natrafienia na znak klawisza Escape (sprawdź kod ASCII), zastąpić go znakiem końca łańcucha i przerwać wczytywanie; Napisałem to w następujący sposób, lecz nie działa tak jak powinno. Prosiłbym o jakieś wyjaśnienie/wskazówki co jest nie tak. printf( "Podaj dlugosc smsa:\n" ); scanf( "%d", & dlugosc ); char * tsms =( char * ) calloc( sizeof( char ), dlugosc );
printf( "Podaj tresc smsa i zakoncz wiadomosc esc:\n" ); for( int i = 0; i < dlugosc; i++ ) { scanf( "%c", & tsms[ i ] ); if( tsms[ i ] == 27 ) { tsms[ i ] = '\0'; break; } } puts( tsms ); |
|
Gibas11 |
» 2016-05-23 20:16:07 Chyba musisz pobierać pojedyncze znaki używając getch() z #include <conio.h> . |
|
« 1 » |