/* This program adds an user to account.txt Don't usr it When login-sever is working. */ #include #include #include 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; } } } fclose (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); fclose (FPaccout); printf ("Account added.\n"); }