看来你对fgets这个函数还不太了解。
它的原型是char *fgets(char *s, int n, FILE *stream);
它从流中读取n-1个字符,除非读完一行,参数s是来接收字符串,如果成功则返回s的指针,否则返回NULL。
你这里是n是2,当然读取一个字符了。
fgets()从文件读取一个字符串
fputs()将一个字符串输出到文件
fread()从文件以二进制方式读取数据
fscanf()是scanf()的文件版本
fseek()将文件指针定位到文件中需要的位置
因为一个字符串是以字符'\0'作为结束标志,所以你要读取两个字符的话应该是fgets(a, 3, fpin);