Code prints out an extra character "�" when reading and printing from an ASCII file 
int print_user(const User *user) {
    if (user == NULL) {
        // if the user is NULL
        return -1;
    }

    if (strcmp(user->profile_pic, "\0") != 0){
        char ch;
        FILE* ptr;
        ptr = fopen(user->profile_pic, "r");
        do {
            ch = fgetc(ptr);
            printf("%c", ch);
    
            // Checking if character is not EOF.
            // If it is EOF stop reading.
        } while (ch != EOF);
    
        // Closing the file
        fclose(ptr);
    }

    printf("\nName: %s\n", user->name);
    printf("------------------------------------------\n");

    // Print list of friends
    printf("Friends:\n");
    int i = 0;
    while (i < MAX_FRIENDS && user->friends[i]) {
        printf("%s\n", user->friends[i]->name);
        i++;
    }
    printf("------------------------------------------\n");
    
    // Print list of posts
    printf("Posts:\n");
    Post *current_post = user->first_post;
    while (current_post != NULL) {
        printf("From: %s\n", current_post->author);
        printf("Date: %s", ctime(current_post->date));
        printf("\n%s\n", current_post->contents);
        if (current_post->next != NULL){
            printf("\n===\n\n");
        }
        current_post = current_post->next;
    }
    printf("------------------------------------------\n");
    return 0;
}