从文件读取数据在屏幕上显示
#include "stdio.h"
void main()
{
char buf[100];
FILE *fn;
fn = fopen("thag.txt","r+");
fread(buf,1,10,fn);
printf("%s\n",buf);
fclose(fn);
}
在屏幕上显示有乱码部分,把 char buf[100]; 放到 main函数外面定义,就没有乱码了,这是什么情况?
[解决办法]
void main()
{
char buf[100];
FILE *fn;
fn = fopen("thag.txt","r+");
fread(buf,1,10,fn);
buf[10]='\0';//这是字符结束符,说明字符到此截止
printf("%s\n",buf);
fclose(fn);
}
[解决办法]
把你的数组初始化一下
[解决办法]
char buf[100];定义为全局变量,编译器后会初始化里面的值都为0
局部变量就是随机了。
所以,用局部局部变量时要加'\0'结束。
全局变量就不用了。
[解决办法]
初始化数组