中英文编码方式不一样,中文是由两个字节组成的字符,而英文是由一个字节组成,而且该字节的首位为0,而如果是中文,中文编码的第一个字节首位是1.这就是最主要的区别。根据这个就可以对中英文混搭的文件进行读取。就是根据你读到的第一个字节是否小于0.
下边是一段自己编写的一小段代码,不登大雅之堂,只为抛砖引玉。忘高人指导赐教:
#include <stdio.h> void main(){ FILE *stream; char p[10]; char ch; stream = fopen("test.txt","r"); while((p[0]=fgetc(stream)) != EOF){ if(p[0] < 0){ p[1]=fgetc(stream); p[2]=' '; } printf("%s",p); memset(p,0,sizeof(p)); } }