Следующий код использует getchar () для приема строки ввода.
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *rawString = (char *)malloc(200*sizeof(char));
char *rawStringInitial = rawString;
char c;
c=getchar();
while(c!='\n')
{
*rawString=c;
rawString++;
c=getchar();
}
*rawString='\0';
printf("\n[%s]\n",rawStringInitial);
return(0);
}
Если при наборе текста я нажму клавишу «backspace», разве он не должен быть получен функцией getchar () и сохранен в месте, указанном на rawString? Однако вывод просто показывает последнюю строку без каких-либо специальных символов. Может кто-нибудь объяснить, почему?