Compare commits
2 Commits
8020d45db7
...
a58f5db5a3
| Author | SHA1 | Date | |
|---|---|---|---|
| a58f5db5a3 | |||
| b826126635 |
8
c_programming/files/files.txt
Normal file
8
c_programming/files/files.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Reading and Writing Files in C
|
||||
|
||||
copy - copy one file to a new file, one letter at a time.
|
||||
|
||||
lines - read lines from a text file using fgets.
|
||||
todo: lines_2 - remove the \n from the end of each line.
|
||||
https://stackoverflow.com/questions/2693776/removing-trailing-newline-character-from-fgets-input
|
||||
https://man.freebsd.org/cgi/man.cgi?query=strcspn&sektion=3
|
||||
42
c_programming/files/lines.c
Normal file
42
c_programming/files/lines.c
Normal file
@@ -0,0 +1,42 @@
|
||||
// A program that iterates one line at a time.
|
||||
// uses fgets.
|
||||
// https://manual.cs50.io/3/fgets
|
||||
|
||||
// read the lines from lines.txt and print them out.
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
// char *fgets(char s[restrict .size], int size, FILE *restrict stream);
|
||||
|
||||
// reads in at most one less than size characters from stream and stores them
|
||||
// into the buffer pointed to by s. Reading stops after an EOF or a newline.
|
||||
// If a newline is read, it is stored into the buffer. A terminating null byte
|
||||
// ('\0') is stored after the last character in the buffer.
|
||||
|
||||
// lines.c is based on the example at https://en.cppreference.com/c/io/fgets
|
||||
|
||||
|
||||
#define SIZE 64
|
||||
|
||||
int main(void)
|
||||
{
|
||||
FILE* infile = fopen("lines.txt", "r");
|
||||
if (infile == NULL)
|
||||
{
|
||||
perror("Failed to open in.txt");
|
||||
return 1;
|
||||
}
|
||||
char buf[SIZE];
|
||||
|
||||
while (fgets(buf, sizeof buf, infile) != NULL)
|
||||
{
|
||||
printf("%s", buf);
|
||||
}
|
||||
|
||||
if (feof(infile))
|
||||
{
|
||||
puts("End of file reached");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
4
c_programming/files/lines.txt
Normal file
4
c_programming/files/lines.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
Line one
|
||||
Line two
|
||||
|
||||
Line four
|
||||
Reference in New Issue
Block a user