按行倒序输出
#include <stdio.h>
#include <string.h>
#define MAX 255
#define FILE_PATH "D:\\savedata.txt"
char data[MAX][MAX];//字符串数组保存文本
int Line=0;//行数
void Read()
{
FILE *fp = fopen(FILE_PATH, "r");
if(fp==NULL)
printf("error\n");
else
{
fseek(fp, 0, SEEK_SET);
int i=0;
while(fgets(data[i], sizeof(data[i]), fp) != NULL) i++;
Line=i;
}
fclose(fp);
}
void Print()
{
for(int i=0;i<Line;i++)
{
printf("%s",data[i]);
}
}
void PrintRe()
{
for(int i=0;i<Line;i++)
{
printf("%s",data[Line-i-1]);
}
}
void Save_To_File()
{
FILE *fp = fopen(FILE_PATH, "w");
if(fp==NULL)
printf("error\n");
else
{
for(int i=0;i<Line;i++)
fprintf(fp,"%s",data[i]);
}
fclose(fp);
}
void Print_With_Line(FILE *fp)
{
fseek(fp, 0, SEEK_SET);
char line[MAX];
for (int i = 0; fgets(line, sizeof(line), fp) != NULL; i++ )
{
strcmp(data[i],line);
printf("%2d %s", i+1, line);
}
}
int main()
{
Read();
//Print();
//int n;
//printf("\n请输入行号:");
//scanf("%d", &n);
//Modifly_Line(n);
//Save_To_File();
//Read();
PrintRe();
return 0;
}
倒序简单啊,逐行读取放到字符串数组,然后倒过来输出就行了
既然涉及到排序,你就得先存数组里再说,读出来就直接输出还排个什么序
逐行读取每行然后,截取前面的几位时间字段,把时间排一下顺序,然后按顺序输出就行了