fscanf()和scanf()一样,都是以白字符(、和)作为分隔符的,就是说,当读到白字符时,就结束当前数据的读入,并将下一个数据赋给下一个变量。白字符不会当作数据的一部分赋给变量,而会被舍弃,但最后一个白字符会被保留在源数据流中。例如char s[20];int a,b,c;数据文件中的数据是: John 89 99 70Jeo 78 99 69用fscanf(infp,"%s%d%d%d",s,&a,&b,&c);读取时,"John"复制到s,98赋给a,99赋给b,70赋给c,最后的会保留在文件中,当下一个scanf()函数再行读入时,首先碰到,这个会被读出并丢弃,即使有多个白字符也同样被丢弃,直到读到有效数据。
试试这个fscanf(fp,"%s %d\n",s,m);
自动的吧.