次のコードは、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);
}
入力中にバックスペースを押すと、getchar() によって受信され、rawString が指す場所に保存されるべきではありませんか? ただし、出力には、特殊文字を含まない最終的な文字列が表示されます。誰かが理由を説明できますか?