Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

scanfで入力文字を制限する

実際のところ

そんなもん%xでやれば良さそうですが。

#include <stdio.h>

int makeTitle(char str[]) {
  printf("\n\n###%s###\n\n", str);   
  return 0;
}

int main() {

   char string[10];
   
   makeTitle("a~f以外は無視するよ");
   scanf("%10[abcdef]", string);
   printf(">> %10s__\n",string);
   return 0;
}
$ ./sample2.o 


###a~f以外は無視するよ###

abc
>>        abc__
$ ./sample2.o 


###a~f以外は無視するよ###

12
>>           __


$ ./sample2.o 


###a~f以外は無視するよ###

deadbeef
>>   deadbeef__

参考もと

linux.die.net