你的问题是读取一个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;
}