编写一程序,用于将文本文件test.txt中所有包含字符串for 的行输出

img

img

img

img


如何解决问题,是程序正常运行
编写一程序,用于将文本文件test.txt中所有包含字符串for 的行输出。

你的问题是读取一个test.txt文件,输出含有字符串for的行号,以及把对应行输出
最终代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_LINE_LENGTH 1000 // 最大行长度

int main() {

    FILE *fp;
    char *line = NULL;
    size_t len = 0;
    ssize_t read;
    int line_num = 0;
    
    fp = fopen("test.txt", "r");
    if (fp == NULL) {
        printf("无法打开文件\n");
        exit(EXIT_FAILURE);
    }

    while ((read = getline(&line, &len, fp)) != -1) {
        line_num++;
        if (strstr(line, "for") != NULL) {
            printf("The row including 'for' is :%d\n", line_num);
            printf("%s", line);
        }
    }

    free(line);
    fclose(fp);
    return 0;
}

#include <stdio.h>
#include <string.h>

int main()
{
    FILE *file;
    fopen_s(&file, "test.txt", "r");
    if (!file) return 1;
    while (!feof(file))
    {
        char buffer[256];
        fgets(buffer, 256, file);
        if (strstr(buffer, "for")) printf_s("%s", buffer);
    }
    return 0;
}