I want to pass an argument of a specific file location using realpath()
(example: /var/log/message
) and by using fprintf
print the content of this file on the terminal.
This is the code I have so far:
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
if (argc < 2) {
printf("Usage: %s <path>\n", argv[0]);
return 1;
}
char *fullpath = realpath(argv[1], NULL);
FILE *fptr;
fptr = fopen(fullpath, "r");
fprintf(fptr, "%s");
return 0;
}
It doesn't throw errors, but it also doesn't do what I want it to do.
When I run it e.g. ./test /var/log/message
it will show me this on the terminal:
Segmentation fault (core dumped)
OS version
NAME="Fedora Linux"
VERSION="36
Compiler
gcc