commit b048b09f64449461f88df5983bfe513441649f5c Author: Rockingcool Date: Tue Mar 28 08:08:11 2023 -0500 First commit 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 +