繁体   English   中英

如何用 C 编写一个程序来读取文件中的广告打印特定行?

[英]How do I make a program in C that will read ad print specific lines from a file?

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

int main(void)
{
  FILE * ofile;

  char fname[100], c;

  printf("Please enter a file name: \n");
  scanf("%s", fname);

  ofile = fopen(fname, "r+");
  if (ofile == NULL)
    {
      printf("This file cannot be opened!\n");
      exit(0);
    }
  c = fgetc(ofile);
  while (c != EOF)
    {
      printf("%c", c);
      c = fgetc(ofile);
    }

  fclose(ofile);

  return 0;

}

这就是我所拥有的,它只是打印所有内容。 我找不到任何资源告诉我如何让它只打印前三行或最后三行,或者如何指定行。 我不需要指定行包含的内容,只需指定它们的位置。

您可以手动跟踪您所在的线路并进行比较。

int line = 0;
while (c != EOF)
{
    if (c == '\n')
    {
        line++;
    }
    if (line != 0)
    {
        printf("%c", c);
    }
    c = fgetc(ofile);
}

此添加将跳过第一行,但打印其余部分。 可以随意修改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM