From b048b09f64449461f88df5983bfe513441649f5c Mon Sep 17 00:00:00 2001 From: Rockingcool Date: Tue, 28 Mar 2023 08:08:11 -0500 Subject: [PATCH] First commit --- main.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ message.c | 26 ++++++++++++++++++++++++++ message.h | 20 ++++++++++++++++++++ user.c | 18 ++++++++++++++++++ user.h | 17 +++++++++++++++++ 5 files changed, 127 insertions(+) create mode 100644 main.c create mode 100644 message.c create mode 100644 message.h create mode 100644 user.c create mode 100644 user.h diff --git a/main.c b/main.c new file mode 100644 index 0000000..19b6634 --- /dev/null +++ b/main.c @@ -0,0 +1,46 @@ +#include "message.h" +#include "user.h" +#include + + +int main() { + + User[num_of_lines("user_file.txt")] users; + + FILE* fp = fopen("user_file.txt", "w+"); + + + Message message = new_message("Hello, this is a text message",user1,user2); + + printf("Message was: %s\nSentfrom: %s\nSent to: %s\nSent at: %s\n",message.text,message.sender.username,message.recipient.username,asctime(&message.timeinfo)); + + + +} + + + +/* Finds the number of lines in a file (Which MUST end in a new-line, if the last + line is to be counted) */ + +int num_of_lines(char* filename) { + + int num_lines = 0; + FILE* fp = fopen(filename,"r"); + + if (fp == NULL) { + return -1; + } + + + for (int c = getc(fp); c != EOF; c = getc(fp)) { + if (c == '\n') { + num_lines++; + } + } + + fclose(fp); + + return num_lines; + +} diff --git a/message.c b/message.c new file mode 100644 index 0000000..d74374e --- /dev/null +++ b/message.c @@ -0,0 +1,26 @@ +#include +#include +#include +#include +#include "message.h" + +Message new_message(char* string, User from, User to) { + Message new_message; + + new_message.text = malloc((strlen(string)+1)*sizeof(char)); + strcpy(new_message.text,string); + + new_message.sender = from; + new_message.recipient = to; + + time_t rawtime; + struct tm timeinfo; + + time(&rawtime); + timeinfo = *localtime(&rawtime); + + new_message.timeinfo = timeinfo; + + return new_message; + +} diff --git a/message.h b/message.h new file mode 100644 index 0000000..5e72471 --- /dev/null +++ b/message.h @@ -0,0 +1,20 @@ + + +#ifndef _MESSAGE_H +#define _MESSAGE_H + +#include "user.h" +#include + +typedef struct Message_s Message; + +struct Message_s { + char* text; + struct tm timeinfo; + User sender; + User recipient; +}; + +Message new_message(char* text,User from,User to); + +#endif diff --git a/user.c b/user.c new file mode 100644 index 0000000..4ef41cc --- /dev/null +++ b/user.c @@ -0,0 +1,18 @@ +#include +#include +#include +#include "user.h" + +User new_user(char* name,char* pass) { + User newUser; + + newUser.username = malloc((strlen(name)+1)*sizeof(char)); + + newUser.password = malloc((strlen(pass)+1)*sizeof(char)); + + + strcpy(newUser.username,name); + strcpy(newUser.password,pass); + + return newUser; +} diff --git a/user.h b/user.h new file mode 100644 index 0000000..112c217 --- /dev/null +++ b/user.h @@ -0,0 +1,17 @@ + +#ifndef _USER_H +#define _USER_H + + +typedef struct User_s User; + +struct User_s { + char* username; + char* password; +}; + +User new_user(char* name, char* pass); + + +#endif +