Читать из любых данных

Dev спросил: 07 октября 2018 в 01:08 в: c

Я пытаюсь написать программу, которая позволяет любому файлу (Makefile, 1.txt, abc.txt и т. д.) считывать вывод на экране. Кажется, это работает, но выводит только одну строку из большинства 10 строк из любых файлов.

/**
 * Get a filename from the command line or print "Usage: p6 <filename>\n" if it
 * is not provided and exit.  Use fopen(3) to open the file for reading. Then 
 * use fgets(3) to read at most 10 lines from the file and print them out to the
 * console.  You may assume that a line of text will not exceed 4096 characters.
 * Example input/output:
 * ./p6 Makefile 
 * CC=gcc
 * 
 * PROGS=p1 p2 p3 p4 p5 p6 p7 p8 p9 p10
 * 
 * # Linux defaults:
 * CFLAGS=-ggdb -pedantic -Wall
 * #CFLAGS=-O4 -Wall
 * LDFLAGS=-s
 * 
 * all:    $(PROGS)
 */
#include <stdio.h>
int main (int argc, char *argv[])
{
  if (argc < 2)
    {
      printf ("Usage: p6 <filename>\n");
    }    FILE *fp;
    char str[60];    /* opening file for reading */
    fp = fopen ("Makefile", "r"); //In the instruction says Makefile
    // When I run check command, I must use       
    //"/u1/lecture/instructor/.check/text/1.txt" for ".check" file    if (fgets (str, 10, fp) != NULL)
      {
  puts (str);
      }
    fclose (fp);    return (0);
  }

OUTPUT:

> p6:
> -2.5 output of program (p6) is not correct for input      '/u1/lecture/instructor/.check/text/1.txt':
> ------ Yours: ------ 
> man(1) General Commands Manual man(1)
> 
> ---- Reference: ---- 
> man(1) General Commands Manual man(1)
> 
> NAME
>        man - format and display the on-line manual pages
> 
> SYNOPSIS
>        man [-acdfFhkKtwW] [--path] [-m system] [-p string] [-C config_file]
>        [-M pathlist] [-P pager] [-B browser] [-H htmlpager] [-S section_list]
>        [section] name ...
> 
> --------------------

Для операционной системы я использую KDE Linux System, предоставленный CS Instructor.


0 ответов