64,648
社区成员
发帖
与我相关
我的任务
分享
// 读一行
int ReadLine(FILE *fp, char *buffer, int maxlen)
{
int i=0, j=0;
char ch1;
for(i = 0, j = 0; i < maxlen; j++)
{
if(fread(&ch1, sizeof(char), 1, fp) != 1)
{
if(feof(fp) != 0)
{
if(j == 0) return -1; /* 文件结束 */
else break;
}
if(ferror(fp) != 0) return -2; /* 读文件出错 */
return -2;
}
else
{
if(ch1 == '\n' || ch1 == 0x00) break; /* 换行 */
if(ch1 == '\f' || ch1 == 0x1A) /* '\f':换页符也算有效字符 */
{
buffer[i++] = ch1;
break;
}
if(ch1 != '\r') buffer[i++] = ch1; /* 忽略回车符 */
}
}
buffer[i] = '\0';
return i;
}