vendor-info/vendorInfo.c

65 lines
1020 B
C
Raw Normal View History

2024-08-28 19:00:25 +07:00
/*
* Win (Thanawin Pattanaphol)
* vendorInfo.c
* 8th August 2024
*/
#include <stdio.h>
#include <stdlib.h>
#define MAX_VENDORS 20
#define MAX_FILENAME_LENGTH 4096
int read_input(char str[], int n);
2024-08-29 10:57:19 +07:00
struct vendor_item
{
2024-08-28 19:00:25 +07:00
char vendor_name[20];
char merchandise[15];
int inventory_count;
int item_price_baht;
} vendors[MAX_VENDORS];
2024-08-29 10:57:19 +07:00
int main()
{
2024-08-28 19:00:25 +07:00
char file_name[MAX_FILENAME_LENGTH];
read_input(file_name, MAX_FILENAME_LENGTH);
FILE *fp;
2024-08-29 10:57:19 +07:00
if ((fp = fopen(file_name, "r")) == NULL)
{
2024-08-28 19:00:25 +07:00
printf("%s cannot be opened.\n", file_name);
exit(EXIT_FAILURE);
}
2024-08-29 10:57:19 +07:00
// calculate file size
fseek(fp, 0, SEEK_END);
unsigned long file_size = ftell(fp);
fseek(fp, 0, SEEK_SET);
char *file_buffer = (char *) malloc(file_size);
fread(file_buffer, file_size, 1, fp);
printf("%s", file_buffer);
2024-08-28 19:00:25 +07:00
fclose(fp);
2024-08-29 10:57:19 +07:00
free(file_buffer);
2024-08-28 19:00:25 +07:00
return 0;
};
2024-08-29 10:57:19 +07:00
int read_input(char str[], int n)
{
2024-08-28 19:00:25 +07:00
int ch, i = 0;
2024-08-29 10:57:19 +07:00
while ((ch = getchar()) != '\n')
{
if (i < n)
{
2024-08-28 19:00:25 +07:00
str[i++] = ch;
}
}
str[i] = '\0';
return i;
}