Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
9 years, 12 months ago.
scanfが旨く使えない
メモリダンププログラムを作っていますが、scanf実行時にコンソールに入力した文字が表示されません。 旨く表示させる方法はありませんか? 以下に作成したプログラムを添付します。
include "mbed.h" Serial pc(USBTX, USBRX); tx, rx int main() { pc.baud(115200); int count; char *adr,*st,*end; printf("star adr,end adr\n"); pc.scanf("%x %x",&st,&end); count=(int)st; for(adr=st;adr<=end;adr++){ printf("%02x ",*adr); if(((++count)%16)==0){ printf("\n"); } }
}
1 Answer
9 years, 12 months ago.
scanf() は、標準入力から書式付きで変数に値を読み込む関数なので、コンソールに対してエコーバックは行いません。 putc(), getc(), sscanf() の組み合わせで実現させるか、ターミナルソフト側の設定でエコーバックを行うことが出来ると思います。例えば、Tera term等では、「ローカルエコー」機能を有効にすることでコンソールからの入力文字を表示されることが出来ます。