C语言读入文件问题

打开文件后如何读入文件

以文件流的形式打开文件之后有多种方法可以读取文件,这里列举常用的几种:
(1) size_t fread ( void   *buffer,  size_t size,  size_t count,  FILE *stream) ;
功 能:从一个文件流中读数据,最多读取count个元素,每个元素size字节,如果调用成功返回实际读取到的元素个数,如果不成功返回 0。
参 数:
buffer:用于接收数据的内存地址,大小至少是size*count字节.
size:单个元素的大小,单位是字节
count:元素的个数,每个元素是size字节.
stream:输入流(即打开文件返回的句柄)
返回值:实际读取的元素个数.如果返回值与count不相同,则可能文件结尾或发生错误.
从ferror和feof获取错误信息或检测是否到达文件结尾.

(2) char *fgets(char *buf, int bufsize, FILE *stream);
功能: 从文件结构体指针stream中读取数据,每次读取一行。读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),如果文件中的该行,不足bufsize个字符,则读完该行就结束。函数成功将返回buf,失败或读到文件结尾返回NULL。因此我们不能直接通过fgets的返回值来判断函数是否是出错而终止的,应该借助feof函数或者ferror函数来判断。
参数:
buf: 字符型指针,指向用来存储所得数据的地址。
bufsize: 整型数据,指明buf指向的字符数组的大小。
stream: 文件结构体指针,将要读取的文件流(即打开文件返回的句柄)

(3) int fgetc(FILE *stream);
功能:意为从文件指针stream指向的文件中读取一个字符,读取一个字节后,光标位置后移一个字节。
参数:
stream:输入文件流(即打开文件返回的句柄)
返回值:是返回所读取的一个字节。如果读到文件末尾或者读取出错时返回EOF。

对于文本文件要逐行处理的可以优先考虑fgets();
若要逐个字符处理的可以优先考虑fgetc();
若对二进制文件或者整块数据进行处理的优先考虑fread();

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-09
例10.1]读入文件e10-1.c,在屏幕上输出。
#include<stdio.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("e10_1.c","rt"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
ch=fgetc(fp);
while (ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}追问

给代码或者文件吧,百度删除回车的

相似回答