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.
Hello, I'm having problem with step 2. Step 1 is correct (name.c). I need help with name2.c (my code and question is attached.
#include <stdio.h>
int main(void) {
FILE *file_p;
file_p = fopen("names.txt", "w");
char *text = "Alice talks to Bob.\n";
fputs(text, file_p);
text = "Bob talks to Alice.\n";
fputs(text, file_p);
text = "Eve listens in the middle.\n";
fprintf(file_p, "%s", text);
fclose(file_p);
return 0;
}
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.
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 2 images
stating 'segmentation fault (core dump). Also, directions state to use getline?