@Raigon

Почему не выводит сгенерированный пароль в текстовый файл c++?

Я понимаю, что сам код состоит из костылей, но нужна помощь с выводом массива с паролем в текстовый файл.

#include <iostream>
#include <cstdlib>
#include <fstream>
using namespace std;


void Vasya(char z[20])
{
    ofstream out;
    out.open("D:\\hello.txt");
    
    if (out.is_open())
    {
        out << z << endl;
    }
}


int main()
{
    int x;
    int d;
    
    cout << "Введите кол-во паролей: ";
    cin >> x;
    
    cout << "Введите длину пароля: ";
    cin >> d;
    
    char pass[20] = {};
    
    for (int i = 0; i < x; i++) {
        
        for (int y = 0;  y < d; y++) {
            if ((rand() % 100 + 1) >= 50) {
                pass[y] = rand() % 10;
            } else {
                pass[y] = char(rand()%26+0x61);
            }
        }
        
        Vasya(pass);
        
        pass[20] = {0};
        
        //cout << "\n";
    }
    
    cout << pass;
    
    return 0;
}
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 1
@galaxy
Ну, во-первых, выводит.
Во-вторых, pass[y] = rand() % 10; - вставляем непечатные символы. Наверно хотели pass[y] = rand() % 10+0x30; ?
В-третьих, терминировать надо вовремя и до печати:
pass[d] = '\0';
Vasya(pass);


Далее, пишете на плюсах, используйте std::string.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы