除了 fgetc, 有没有其他读文本文件的方法?(文本文件含多个回车符)
我有一个磁盘文件,aaa.txt:start=20000
end=60000
speed=3000
time=10s
用以下程序把它的内容读出来:
#include <stdio.h>
main(void)
{
FILE *fptr;
char filename[] ="aaa.txt";
char filecontents[256];
char *fff;
int reval=0;
char c;
int i;
if ((fptr=fopen(filename,"r"))==NULL){
printf("Can not open %s. \n",filename);
reval=1;
} else {
i=0;
while((c=fgetc(fptr))!=EOF){
filecontents[i]=c;
i++;
}
filecontents[i]='\0';
fclose(fptr);
}
printf("ready to dispaly the contenets: \n\n");
for (i=0;filecontents[i]!='\0';i++)
printf("%c",filecontents[i]);
return 0;
}
小萝卜的问题是:
1。读文件,除了用c=fgetc(fptr)一个字符一个字符读,还有其他什么方法?我曾经试过fgets函数。但是fgets碰到回车就不读了,而我的aaa.txt里有好几个回车,因此用不了。而且有个尾巴:filecontents[i]='\0',否则在下面显示的时候就要出错。
2。读出来的字符,我这里是放在一个数组filecontents里。一开始我定义了数组的大小是filecontents[256],最多放256个字符。有没有什么办法,不用事先定义数组的大小,或者干脆用char *file,也就是用一个字符串来读呢?我试了几次,没有成功。
望各位大拿出招了,多谢多谢。