Получение ошибки Xstring в VS в программе входа на C

#c

#c

Вопрос:

Я начинающий программист на C . Я пытаюсь создать программу, которая регистрирует пользователя в программе, все скомпилировано идеально, но когда я пытаюсь ее запустить, я получаю ошибку Xstring, в которой говорится, что это было 0x7FF6F0AACFF0 «.

Я полагаю, что ошибка могла быть вызвана тем фактом, что я очень новичок в использовании файлов в коде, и мне нужно было использовать их в этой программе, поскольку они были единственным способом постоянного сохранения данных для входа и пароля.

Я переписывал этот проект более 5 раз, и на данный момент это самый функциональный вариант. Я попытался использовать ofstream и ifstream , но отказался от них, потому что для каждого файла был сохранен только один пароль и логин; поэтому я думаю, что основная ошибка, вероятно, содержится в функциях Processing и Array_filler , все, что мне нужно, это указать правильное направление, и я, вероятно, смогу ее устранить.

C :

 #include <iostream>
#include <stdlib.h>
#include <fstream>
#include <string>
using namespace std;

//bug_1 need to fix the error where the code doesn't recognize a returning user
//Project_1 need to implement a subsystem that recommends a random password amp; Login 
//Project_2 need to implement a subsystem that requires a strong password

string Word_blip[90] = {};
string Pass_blop[90] = {};
string password;
string logWord;
string Login_1;
string Pass_1;
int KILL_SWITCH = 1;
int y = 0;
void Array_filler();
void Start_up();
void Yupper_pupper();
void processing();
void New_Login();

int main() {
    Start_up();
    if (KILL_SWITCH == 0) {
        return EXIT_SUCCESS;
    }
    Yupper_pupper();
    processing();
}

void Start_up() {
    Array_filler();
    cout << "Login:";
    cin >> logWord;
    cout << "Password:";
    cin >> password;
    for (y; y >= 90; y  ) {
        cout << "Preparing" << endl;
    }
    system("cls");
    if (Word_blip[y] == logWord) {
        cout << "Login accepted, welcome user:" << endl;
    } else if (Word_blip[y] != logWord) {
        New_Login();
    }
}

void New_Login() {
    string i_1_5;
    cout << "Login not recognized, would you like to sign up?" << endl;
    cin >> i_1_5;
    if (i_1_5 == "yes") {
        void Yupper_pupper();
    } else if (i_1_5 == "no") {
        cout << "Have a good day!" << endl;
        KILL_SWITCH = 0;
    } else {
        cout << "That's not a valid answer ;-) please retry" << endl;
        New_Login();
    }
}

void Yupper_pupper() {
    system("cls");
    cout << "Please Sign in with your new username amp; Password." << endl;
    cout << "New Login:";
    cin >> Login_1;
    cout << "New password:";
    cin >> Pass_1;
    void processing();
}

void processing() {
    /* acts like "ofstream" or "ifstream combined; with the
    ios::in and ios::out replacing the sort of "read out file" 
    ofstream meant with "ios::in"and the "input into file" that 
    ifstream provided with ios::out*/
    fstream Urfile("Logins.txt", ios:: in );
    string Placeholder_1;
    if (Urfile.is_open()) {
        getline(Urfile, Placeholder_1);
        /* While Urfile = "While the file is open" Urfile = true
        When the file runs out of information the file will close 
         making the statement false and ending the loop ;-)*/
        while (Urfile) {
            Placeholder_1 = Word_blip[0];
        }
        Urfile.close();
    } else {
        cout << "ERROR_OPENING_URFILE_ABORTING_PROGRAM_1" << endl;
        abort();
    }
    fstream Myfile("Passwords.txt", ios:: in );
    string Placeholder_2;
    if (Myfile.is_open()) {
        getline(Myfile, Placeholder_2);
        while (Myfile) {
            Placeholder_2 = Pass_blop[0];
        }
        Myfile.close();
    } else {
        cout << "ERROR_OPENING_MYFILE_ABORTING_PROGRAM_1" << endl;
        abort();
    }
    Start_up();
}

void Array_filler() {
    /*This function is responsible for clearing out the file
    and replacing everything inside with the contents of Pass_blip and Word_blop
    . Don't worry! none of the data will be lost because it was all written to the
    arrays to be processed alongside the new inputs*/
    fstream Urfile("Login.txt", ios::out);
    if (Urfile.is_open()) {
        for (int i = 0; Word_blip[i] != "n"; i  ) {
            Urfile << Word_blip[i] << endl;
        }
        Urfile.close();
    } else {
        cout << "ERROR_OPENING_URFILE_ABORTING_PROGRAM_2" << endl;
        abort();
    }
    fstream Myfile("Passwords.txt", ios::out);
    if (Myfile.is_open()) {
        for (int i = 0; Pass_blop[i] != "n"; i  ) {
            Myfile << Pass_blop[i] << endl;
        }
        Myfile.close();
    } else {
        cout << "ERROR_OPENING_MYFILE_ABORTING_PROGRAM_2" << endl;
        abort();
    }
}
 

Комментарии:

1. void Yupper_pupper(); это объявление функции, а не вызов функции. Не используйте void при вызовах функций.

2. Ах да, я понимаю, что вы имеете в виду. Спасибо!

3. Просто чтобы уточнить, я провел некоторое тестирование и обнаружил, что ошибка определенно связана с функцией Arrayfiller.