Trouver une chaine dans un ficher [Résolu]

Signaler
-
eneeDiIorio
Messages postés
4
Date d'inscription
lundi 6 janvier 2020
Statut
Membre
Dernière intervention
9 janvier 2020
-
bonjour je suis dans une impasse:

jais un ficher avec des nom d’utilisateur du type(le ficher pas les nom d’utilisateur):

jean

Michelle

Lucas

Marie

est je veut vérifier si l’utilisateur actuelle est contenus dans ce ficher

merci d’avance


<config>Windows<config>

6 réponses

Messages postés
430
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
8 janvier 2020
50
Bonjour,

Tu lis toutes les lignes du fichier pour les compter.
Puis tu lis les lignes pour y rechercher le login ... mais tu as déjà tout lu ... donc il n'y a rien à lire.
Messages postés
27838
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
19 janvier 2020
5848
Salut,

Comme tu as fait l'impasse sur le langage de programmation, je te propose sous msdos de faire un script avec la commande
FIND

find /I /C "jean" utilisateurs.txt 


Messages postés
4
Date d'inscription
lundi 6 janvier 2020
Statut
Membre
Dernière intervention
9 janvier 2020

bonjour jee pee
je nais encore jamais utiliser find pouré tu me montrer un exemple?
Messages postés
4
Date d'inscription
lundi 6 janvier 2020
Statut
Membre
Dernière intervention
9 janvier 2020

je suis en c++
Messages postés
4
Date d'inscription
lundi 6 janvier 2020
Statut
Membre
Dernière intervention
9 janvier 2020

jais fait un petit bout de code pour reconaitre les no dutilisateur est je ne comprend pas pourquoi ca ne fonctionne pas HELP ☺☻

#include <iostream>
#include <string>
#include <fstream>
#include <stdlib.h>
#include <stdlib.h>
#include <ctime>
#include <windows.h>
#include <Lmcons.h>

using namespace std;

int main()
{

    //recuperation du nom dutilisateur
    char user_name[UNLEN+1];
    DWORD user_name_size = sizeof(user_name);
    if (GetUserName(user_name, &user_name_size))
    {
        cout << "bonjour " << user_name << endl;
    }
    else
    {
        cout << "ERREUR 1: une erreur est survenue lors du teste de votre nom dutilisateur ce programe ne peut y axeder contacter la persone qui vous a donner ce t-chat (plus styler que chat). cette fenetre va s'auto fermer sous 10 seconde"<<endl;
        Sleep(10000);
        exit (1);
    }


    //verification des autorisation des utilisateur grace a C:/nanoc/verification_des_autorisation.data

    ifstream verification_des_autorisation("C:/nanoc/verification_des_autorisation.txt", ios::in);
    if(verification_des_autorisation)
    {
        //L'ouverture s'est bien pass�e, on peut donc lire
        cout << "lecture des ficher d'autorisation reusis"<<endl;
        string ligne("soit votre t-chat n'a pas été cree soi il a été renisialiser re-crée le !");
        int nbtour(0);
        cout <<" les utilisateur autoriser a utiliser ce t-chat sont : "<<endl;
        while(getline(verification_des_autorisation, ligne)) //Tant qu'on n'est pas à la fin, on lit
        {
            cout << ligne << endl;
            ++nbtour;
        }
        cout << "il y a "<<nbtour<<" ligne"<<endl;

        int nbtour2(0);
        ligne=("");
        while(getline(verification_des_autorisation, ligne)) //Tant qu'on n'est pas à la fin, on lit
        {
            ++nbtour2;
            if (user_name==ligne)
            {
                cout<<"les autorisaton vous sont favorable"<<endl;
                goto sorti_d_inisialisation; // desoler ler lecteur je ne pouver fair autrement si vous y ariver changer ca ce goto va a la ligne 69 (normalemet)
            }
            else if (nbtour2==nbtour)
            {
                cout << "ERREUR 3: votre nom dutilisateur nest ppas contenus dans vos ficher ditantification parler en a la persone qui vous a donner ce t-chat (plus styler que chat). cette fenetre va s'auto fermer sous 10 seconde" <<endl;
                Sleep(10000);
                exit(2);
            }

        }

        }
    else
    {
        cout << "ERREUR 3: Impossible d'ouvrir le fichier dautantifiction parler en a la persone qui vous a donner ce t-chat (plus styler que chat). cette fenetre va s'auto fermer sous 10 seconde" << endl;
        Sleep(10000);
        exit (3);
    }
    sorti_d_inisialisation:
    cout <<"voila"<<endl;
}




cest comme si le programe ne liser pas les deux if a la ligne 51 a 62
Messages postés
4
Date d'inscription
lundi 6 janvier 2020
Statut
Membre
Dernière intervention
9 janvier 2020

jais trouver merci voicie mon code final
#include <iostream>
#include <string>
#include <fstream>
#include <stdlib.h>
#include <ctime>
#include <windows.h>
#include <Lmcons.h>
#include <set>
using namespace std;

int main()
{

set<string> userList;
cout << "verification de lexistance du fichier d'idantification" << endl;
ifstream configFile("C:/nanoc/verification_des_autorisation.txt");
if (configFile)
{
cout << "done" << endl;
cout << "configuration du nom dutilisateur" << endl;
string user;
while (getline(configFile, user))
{
userList.insert(user);
}
cout << "done" << endl;
}
else
{
cerr << "imposible d'ouvrir le ficher d'idantification contacter la persone qui vous a distribuer ce t-chat fermetur dans 10 seconde" << endl;
Sleep(10000);
exit(1);
}

cout << "atribution du nom dutilisateur" << endl;
char userName[UNLEN + 1];
DWORD user_name_size = sizeof(userName);
if (GetUserName(userName, &user_name_size))
cout << "done" << endl;
cout << "bonjour " << userName << endl;
if (userList.find(userName) != userList.end())
{
cout << userName << " reconus. " << endl;
}

else
{
cout << userName << " non reconus. contacter la persone qui vous a distribuer ce t-chat fermetur dans 10 seconde" << endl;
Sleep(10000);
exit(2);
}



il faut fair le trie dans les includes