Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C] Przerwanie pętli za pomocą esc (kod ASCII)

Ostatnio zmodyfikowano 2016-05-23 20:16
Autor Wiadomość
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.

C/C++
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 );
P-148523
Gibas11
» 2016-05-23 20:16:07
Chyba musisz pobierać pojedyncze znaki używając getch() z
#include <conio.h>
.
P-148524
« 1 »
  Strona 1 z 1