//C语言的问题,为什么这个代码能运行#include<stdio.h>
int main(){
FILE *fp;
char op;
if((fp = fopen("/sdcard/abc.txt","rt")) == NULL)
{
printf("error!");
}
op = fgetc(fp);
while(!feof(fp)){
printf("%c",op);
op = fgetc(fp);
}
fclose(fp);
}
//但是这个代码却运行后无限输出乱码符号
#include<stdio.h>
int main(){
FILE *fp;
char op;
if((fp = fopen("/sdcard/abc.txt","rt")) == NULL)
{
printf("error!");
}
op = fgetc(fp);
while(op != EOF){
printf("%c",op);
op = fgetc(fp);
}
fclose(fp);
}
//这个是怎么回事?求大神解答
文本类型代码是啥
追答你的问题应该是后一种情况,即:文本的编码方式的为unicode !醉了,这个有啥用?打开文件不都是用FILE加文件指针么
追答或者你打开的文件不是文本格式的,或者文件的编码非ascii(汉字区位码)。
追问就是txt格式的,内容为字母