/* This program adds an user to account.txt Don't usr it When login-sever is working. */ #include <stdio.h> #include <stdlib.h> #include <string.h> char *account_txt = "../save/account.txt"; //----------------------------------------------------- // Function to suppress control characters in a string. //----------------------------------------------------- int remove_control_chars(unsigned char *str) { int i; int change = 0; for(i = 0; str[i]; i++) { if (str[i] < 32) { str[i] = '_'; change = 1; } } return change; } int main(int argc, char *argv[]) { char username[24]; char password[24]; char sex[2]; int next_id, id; char line[1024]; // Check to see if account.txt exists. printf("Checking if '%s' file exists...\n", account_txt); FILE *FPaccin = fopen(account_txt, "r"); if (FPaccin == NULL) { printf("'%s' file not found!\n", account_txt); printf("Run the setup wizard please.\n"); exit(0); } next_id = 2000000; while(fgets(line, sizeof(line)-1, FPaccin)) { if (line[0] == '/' && line[1] == '/') { continue; } if (sscanf(line, "%d\t%%newid%%\n", &id) == 1) { if (next_id < id) { next_id = id; } } else { sscanf(line,"%i%[^ ]", &id); if (next_id <= id) { next_id = id +1; } } } close(FPaccin); printf("File exists.\n"); printf("Don't create an account if the login-server is online!!!\n"); printf("If the login-server is online, press ctrl+C now to stop this software.\n"); printf("\n"); strcpy(username, ""); while (strlen(username) < 4 || strlen(username) > 23) { printf("Enter an username (4-23 characters): "); scanf("%s", &username); username[23] = 0; remove_control_chars(username); } strcpy(password, ""); while (strlen(password) < 4 || strlen(password) > 23) { printf("Enter a password (4-23 characters): "); scanf("%s", &password); password[23] = 0; remove_control_chars(password); } strcpy(sex, ""); while (strcmp(sex, "F") != 0 && strcmp(sex, "M") != 0) { printf("Enter a gender (M for male, F for female): "); scanf("%s", &sex); } FILE *FPaccout = fopen(account_txt, "r+"); fseek(FPaccout, 0, SEEK_END); fprintf(FPaccout, "%i %s %s - %s -\r\n", next_id, username, password, sex); close(FPaccout); printf("Account added.\n"); }