// 2.7.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include <string.h>
#include<windows.h>
char *ReadALine(char *buf, int n, FILE *fp);
int _tmain(int argc, _TCHAR* argv[])
{
FILE *fp = fopen("temp.txt", "w");
if(fp == NULL)
return 0;
fputs("Hello World!\n", fp);
fputs("Hello China!\n", fp);
fputs("Hello Teacher!\n", fp);
fclose(fp);
fp = fopen("temp.txt", "r");
if(fp == NULL)
return 0;
char buf[30];
for(;;)
{
ReadALine(buf, 30, fp);
if(feof(fp) != 0)
{
printf("file end\n");
break;
}
printf("%s\n",buf);
}
fclose(fp);
system("pause");
return 0;
}
//作业2
char *ReadALine(char *buf, int n, FILE *fp)
{
char c;
int i=0;
while((c=fgetc(fp))!=EOF)
{
if(c=='\n'||c=='\r')
{
buf[i++]='\0';
break;
}
if(i==n-1){buf[i]='\0'; break;}
else buf[i++]=c;
}
return buf;
}
/*for(;;)
{
if (fgetc(fp)==EOF) break;
for(int i=0;i<n;i++)
{
if(feof(fp) != 0) break;
buf[i]=fgetc(fp);
printf("%s", buf);
}
}
printf("file end\n");
return buf;*/
#include "stdafx.h"
#include <string.h>
#include<windows.h>
char *ReadALine(char *buf, int n, FILE *fp);
int _tmain(int argc, _TCHAR* argv[])
{
FILE *fp = fopen("temp.txt", "w");
if(fp == NULL)
return 0;
fputs("Hello World!\n", fp);
fputs("Hello China!\n", fp);
fputs("Hello Teacher!\n", fp);
fclose(fp);
fp = fopen("temp.txt", "r");
if(fp == NULL)
return 0;
char buf[30];
for(;;)
{
ReadALine(buf, 30, fp);
if(feof(fp) != 0)
{
printf("file end\n");
break;
}
printf("%s\n",buf);
}
fclose(fp);
system("pause");
return 0;
}
//作业2
char *ReadALine(char *buf, int n, FILE *fp)
{
char c;
int i=0;
while((c=fgetc(fp))!=EOF)
{
if(c=='\n'||c=='\r')
{
buf[i++]='\0';
break;
}
if(i==n-1){buf[i]='\0'; break;}
else buf[i++]=c;
}
return buf;
}
/*for(;;)
{
if (fgetc(fp)==EOF) break;
for(int i=0;i<n;i++)
{
if(feof(fp) != 0) break;
buf[i]=fgetc(fp);
printf("%s", buf);
}
}
printf("file end\n");
return buf;*/