C语言二进制打开指定文件 加行号并显示在屏幕上

2024年11月17日 03:31
有1个网友回答
网友(1):

#include 
#include 

int main(void)
{
    FILE *fp;
    int len = 0;
    int line = 0;
    char buf[1024];

    fp = fopen("c://test.txt", "rb");
    if (NULL == fp)
    {
        return -1;
    }

    while (1)
    {
        memset(buf, 0, sizeof(buf));

        fgets(buf, 1024, fp); // 读取一行
        len = strlen(buf);    // 获取一行的长度
        if (0 == len)
        {
            break;
        }
        // 修改末尾的'\r\n',否则可能出现两次换行
        if ((buf[len - 1] == '\n') && (buf[len - 2] == '\r'))
        {
            buf[len - 1] = 0;
            buf[len - 2] = '\n';
        }

        line++;
        printf("<%d> %s", line, buf);

        if (0 == line % 20)
        {
            getch();
        }
    }

    fclose(fp);
    return 0;
}