c语言的文件操作问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 04:53:15
#include<string.h>
#include "stdio.h"
int main()
{
char data[2048];
FILE * fstream = fopen( "c:\\1.txt", "rb" );
while( !feof( fstream ))
{
fread( data, 1, 2048, fstream );
}
printf("%s",data);
fclose(fstream);
}

这样写为什么不行呢?
c盘下是有1.txt文件的。。就是打印出来会出现很多 烫烫烫烫烫烫烫烫

是不是在c盘里没有1.txt的文件啊?
我刚才直接执行程序不行,然后在c盘里建立了一个1.txt文件,就能运行了

乱码是因为字符数组没有初始化引起的,
你可以这样写: char data[2048]="";

二进制读文件,就不要用这个来打印了printf("%s",data);

都是01,遇到0就结束了

如果不以二进制读还行

不要用rb 这代表已经有了 你用别的 wb之类的 可以自己建一个

你打开的文件方式是rb,就是打开一个二进制只读文件,必须是原有的文件,所以要在C盘先建一个1.txt文件