Проверка учетных записей, некорректный вывод в консоли
Программа выводит список пользователей, информацию о группах, проверяет устарели ли пароли, все работает конечно, но как убрать лишние символы?
Код:
#include "pch.h"
#include <stdlib.h>
#include <windows.h>
#include <iostream>
#include <lm.h>
#include <clocale>
#include <fstream>
#include <string>
#include <assert.h>
#pragma comment (lib, "netapi32.lib")
using namespace std;
int main()
{
setlocale(LC_CTYPE, "rus");
USER_INFO_0 *user_list;
DWORD a, b;
cout << "Список польователейn";
NetUserEnum(NULL, 0, FILTER_NORMAL_ACCOUNT, (LPBYTE*)&user_list, MAX_PREFERRED_LENGTH, &a, &b, NULL);
std::ofstream out; // поток для записи
out.open("E:hello.txt");
std::string line;
std::ifstream in("D:hello.txt");
for (DWORD i = 0; i < a; ++i)
{
char buffer[20];
wprintf(L"User name: %sn", user_list[i].usri0_name);
size_t wcstombs((buffer, user_list[i].usri0_name, 20));
string j = string(buffer);
cout << j;
out << user_list[i].usri0_name << std::endl;
while (getline(in, line))
{
std::cout << line << std::endl;
}
}
out.close();
in.close();
cout << "nИнформация о пользователяхn";
USER_INFO_2 *uii;
NET_API_STATUS ret_status; // код возврата из функции
for (DWORD i = 0; i < 5; i++)
{
ret_status = NetUserGetInfo(NULL, user_list[i].usri0_name, 1, (LPBYTE*)&uii);
wprintf(L"User name: %sn", uii->usri2_name);
wprintf(L"User commemnt: %sn", uii->usri2_comment);
}
NetApiBufferFree(uii);
cout << "nСписок групп и информацияn";
GROUP_USERS_INFO_0 *ui; // информация о группах
DWORD entries_read; // количество прочитанных групп
DWORD total_entries; // общее количество групп
NET_API_STATUS ret_status1; // код возврата из функции
for (DWORD i = 0; i < 1; i++)
{
ret_status1 = NetUserGetGroups(NULL, user_list[i].usri0_name, 0, (LPBYTE*)&ui, MAX_PREFERRED_LENGTH, &entries_read, &total_entries);
for (DWORD j = 0; j < 5; j++)
wprintf(L"%s: %sn", user_list[j].usri0_name, ui[j].grui0_name);
}
NetApiBufferFree(ui); // освобождаем буфер
NetApiBufferFree(user_list);
system("pause");
return 0;
}
#include <stdlib.h>
#include <windows.h>
#include <iostream>
#include <lm.h>
#include <clocale>
#include <fstream>
#include <string>
#include <assert.h>
#pragma comment (lib, "netapi32.lib")
using namespace std;
int main()
{
setlocale(LC_CTYPE, "rus");
USER_INFO_0 *user_list;
DWORD a, b;
cout << "Список польователейn";
NetUserEnum(NULL, 0, FILTER_NORMAL_ACCOUNT, (LPBYTE*)&user_list, MAX_PREFERRED_LENGTH, &a, &b, NULL);
std::ofstream out; // поток для записи
out.open("E:hello.txt");
std::string line;
std::ifstream in("D:hello.txt");
for (DWORD i = 0; i < a; ++i)
{
char buffer[20];
wprintf(L"User name: %sn", user_list[i].usri0_name);
size_t wcstombs((buffer, user_list[i].usri0_name, 20));
string j = string(buffer);
cout << j;
out << user_list[i].usri0_name << std::endl;
while (getline(in, line))
{
std::cout << line << std::endl;
}
}
out.close();
in.close();
cout << "nИнформация о пользователяхn";
USER_INFO_2 *uii;
NET_API_STATUS ret_status; // код возврата из функции
for (DWORD i = 0; i < 5; i++)
{
ret_status = NetUserGetInfo(NULL, user_list[i].usri0_name, 1, (LPBYTE*)&uii);
wprintf(L"User name: %sn", uii->usri2_name);
wprintf(L"User commemnt: %sn", uii->usri2_comment);
}
NetApiBufferFree(uii);
cout << "nСписок групп и информацияn";
GROUP_USERS_INFO_0 *ui; // информация о группах
DWORD entries_read; // количество прочитанных групп
DWORD total_entries; // общее количество групп
NET_API_STATUS ret_status1; // код возврата из функции
for (DWORD i = 0; i < 1; i++)
{
ret_status1 = NetUserGetGroups(NULL, user_list[i].usri0_name, 0, (LPBYTE*)&ui, MAX_PREFERRED_LENGTH, &entries_read, &total_entries);
for (DWORD j = 0; j < 5; j++)
wprintf(L"%s: %sn", user_list[j].usri0_name, ui[j].grui0_name);
}
NetApiBufferFree(ui); // освобождаем буфер
NetApiBufferFree(user_list);
system("pause");
return 0;
}
Код:
char buffer[20];
Код:
char buffer[MAX_PATH];