C#按行倒序输出txt文件

img

img


如图 请问如何倒序按行输出这个txt的文件 以实现时间倒序读取信息呢 求解答

按行倒序输出

#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;
}

倒序简单啊,逐行读取放到字符串数组,然后倒过来输出就行了

既然涉及到排序,你就得先存数组里再说,读出来就直接输出还排个什么序

逐行读取每行然后,截取前面的几位时间字段,把时间排一下顺序,然后按顺序输出就行了