I cannot get my input character value properly. Here is my code:
#include <stdlib.h>
void main()
{
    char buf_in[32] = { 0 };
    printf("input: ");
    gets_s(buf_in, 32);
    for (int i = 0; i < 32; i++)
        printf("%02x ", buf_in[i]);
    getchar();
}
I input the character by <alt-254>, but the result is 74 00 00 ..., not fe 00 00 ....
Here is my local environment: chcp 936.
And I test in some different local environments (ANSI code page 936):
1. OEM code page 936   result : 74 00 00 ...
2. OEM code page 65001 result : 00 00 00 ... (weird)
3. OEM code page 1250  result : 3f 00 00 ...
4. OEM code page 437   result : 5f 00 00 ...
 
     
    