These library commands wrap corresponding system calls: library system fopen open fputs, fprintf write fscanf, getline read fclose close

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

This is using basic C and Linux System Calls

These library commands wrap corresponding system calls:
library
system
fopen
open
fputs, fprintf write
fscanf, getline
read
fclose
close
File Function Exercise
Write a program names1.c that opens a file names.txt and writes these
lines to in this order:
Alice talks to Bob.
Bob talks to Alice.
Eve listens in the middle.
Then write a program names2.c which opens this same file, reads the words
in the file one by one and and prints these words so that the screen output
looks identical to the content of names.txt (and the display above). One way
to detect the end of a line (for this text) is to check the last character of each
word for a period and add a newline after each period found. (The getline
function solves this problem for a general text file.)
Finally, write a program names3.c which just prints out the last line in the
file without assuming that there are just three lines. Do this by setting the file-
cursor to the last character of the file with fseek, then searching backwards
a character at a time with fscanf with format string "%c" while looking for a
newline character (ignoring that at the end of the file). Then use getline to
read that last line.
Transcribed Image Text:These library commands wrap corresponding system calls: library system fopen open fputs, fprintf write fscanf, getline read fclose close File Function Exercise Write a program names1.c that opens a file names.txt and writes these lines to in this order: Alice talks to Bob. Bob talks to Alice. Eve listens in the middle. Then write a program names2.c which opens this same file, reads the words in the file one by one and and prints these words so that the screen output looks identical to the content of names.txt (and the display above). One way to detect the end of a line (for this text) is to check the last character of each word for a period and add a newline after each period found. (The getline function solves this problem for a general text file.) Finally, write a program names3.c which just prints out the last line in the file without assuming that there are just three lines. Do this by setting the file- cursor to the last character of the file with fseek, then searching backwards a character at a time with fscanf with format string "%c" while looking for a newline character (ignoring that at the end of the file). Then use getline to read that last line.
Expert Solution
Program names1.c

    #include <stdio.h>
    int main(){
     FILE *in = fopen("names.text", "r");  // It opens the file
     char c;
     while((c = fgetc(in)) != EOF){  // till it reaches the end of the file, it will keep on reading the next character
      printf("%c", c);   // displays the file
     } 
     fclose(in);     // close the file 
     
     return 0; 
    } 

trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Windows
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education