读书人

从文件读取数据在屏幕上显示,该如何处

发布时间: 2012-03-17 19:06:28 作者: rapoo

从文件读取数据在屏幕上显示
#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'结束。
全局变量就不用了。
[解决办法]
初始化数组

读书人网 >VC/MFC

热点推荐