PassWord et login

snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011 - 11 sept. 2007 à 20:37
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011 - 12 sept. 2007 à 00:52
bon soir tout le monde,
j'ais un petit problème..
je veux fair un programme en DEV-C++ qui crée en fichier txt et qui le cripte sa c bon.
Mais le problemme c'est que je veux qu'il y est un pass et un login que le pass que la personne choise.si c'est la promier foix que la personne utilise le programme, je veux que le pass et le login soit stoqué dans un fichier pass.txt.
 quand la personne utilise le programme pour la deuieme foix que le passe et le login saisi par l'utilisateur soit vérifier par le brogramme en utilisent le fichier pass.txt.
commant fair??
ps: svp évité de me métre des racourci en englais quar je ne comprends rien (je c que je doit mi metre mais en attendent) merci.
merci d'avence pour vaut réponse

33 réponses

cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
11 sept. 2007 à 23:47
delete [] cf; pour comparer une chaîne tu peux comparer caractères un par un,  utiliser StrCmp ou associés, asm rep cmps,...et d'autres.
0
cs_juju12 Messages postés 966 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 4 mars 2010 4
11 sept. 2007 à 23:48
asm repe cmps, il se fait tard.
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
11 sept. 2007 à 23:58
si on mais delete []cf;
sa efface se qui a dedans cf non??
et sa ne marche pas il faut le mêtre ou delete[]cf;
dsl de prendre votre temps mais c le seul truc qui manque a mon project..
et merci pour votre aide.
sa change quoi de comparer lettre par lettre ou non?
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
12 sept. 2007 à 00:01
delete marquera la zone mémoire pointé par cf comme libre.

Utilise delete quand tu n'a plus besoin de la mémoire de cf.

Ne compare pas lettre par lettre. Ca n'apporte rien du tout ici. Utilise strcmp.

C++ (@++)<!--
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
12 sept. 2007 à 00:04
voila j'ai fais sa :
-----------------------------------------
char pass[10];
fstream f;
int ff;
char *cf;


f.open("pass.txt", ios::in | fstream::binary);
f.seekg(0, ios::end);
ff = f.tellg();
f.seekg(0, ios::beg);
cf = new char [ff];
f.read(cf, ff);
f.close();
delete[]cf;
gets(pass);


if(!strcmp(pass, cf))


{
cout<<"salut";
system("pause");
}
else
{
                                cout<<"non";
system("pause");
}
---------------------------------------
Mais sa ne marche toujours pas ou est l'erreure?
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
12 sept. 2007 à 00:12
Tu libère la mémoire pointé par cf avant de faire la comparaison.

C++ (@++)
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
12 sept. 2007 à 00:20
je vais être soulan mais je l'ais mi :

--------------------
else
{
                                cout<<"non";
system("pause");
}
delete[]cf;
---------------------------
il est toujour dans les {} de main mais sa ne marche toujours pas.
il me dit toujour non meme si le code est le meme
exemple: d
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
12 sept. 2007 à 00:30
ajoute cf[f.gcount()] = 0 immédiatement après f.read

C++ (@++)<!--
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
12 sept. 2007 à 00:35
dsl sa ne marche toujours pas..
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
12 sept. 2007 à 00:44
C'est bon sa marcher j'ais trouver, comme le pass.txt je l'avais écris avec DEV-C++, il me m'était un retour à la ligne alors le code, n'ais plus  pour le programme d mais d+retour à la ligne se qui est impossible à fair donc le code est toujours faux.
 merci beaucoup pour ton aide et aussi tous les autres qui mon aidé.
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
12 sept. 2007 à 00:49
Ceci fonctionne parfaitement pour moi:

int main(void)
{
    char *lpBuffer, lpInput[32];
    int iFileSize;
    fstream fsFile("d:\\test.txt", ios::in);

    fsFile.seekg(0, ios::end);
    iFileSize = fsFile.tellg();
    fsFile.seekg(0, ios::beg);

    lpBuffer = new char[iFileSize+1];

    fsFile.read(lpBuffer, iFileSize);
    lpBuffer[fsFile.gcount()] = 0;

    cin >> lpInput;

    if(!strcmp(lpBuffer, lpInput)) cout << "OK" << endl;
    else cout << "NON" << endl;

    delete[] lpBuffer;

    return 0;
}

C++ (@++)<!--
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
12 sept. 2007 à 00:50
Oups. Trop tard.

Remplace:
cf = new char [ff];
par
cf = new char [ff+1];

sinon tu n'auras pas assez de place pour le 0 de fin de chaine.

C++ (@++)<!--
0
snpier wolf Messages postés 216 Date d'inscription samedi 11 août 2007 Statut Membre Dernière intervention 30 mai 2011
12 sept. 2007 à 00:52
ok et merci encors
0
Rejoignez-nous