begin process at 2012 05 29 15:43:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Petite erreur désagréable


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Petite erreur désagréable

lundi 4 avril 2005 à 17:46:46 | Petite erreur désagréable

DakM

Bonsoir,
Lors de la compilation j'ai aucune erreur
Quand j'appelle ma fonction des le debut, aucune erreur, mais pas contre quand je l'appelle au milieu (cf: plus bas) sa m'affiche une erreur du genre heu .. le programme a rencontre un probleme et doit arreter ...

la fonction:

bool player_add(char nick[0xFF], char pass[0xFF])
{
    char PLA_DIR[] = "Players\\";
    char PLA_PIN[] = "Players\\";
    char PLA_BIN[] = "Players\\";
    strcat(PLA_DIR,nick);
    if(CreateDirectory(PLA_DIR,NULL))
    {
    strcat(PLA_PIN,nick);
    strcat(PLA_PIN,"\\PLAYER.INI");
    HANDLE hFile;
    hFile = CreateFile(TEXT(PLA_PIN),
                   GENERIC_WRITE,
                   0,
                   NULL,
                   CREATE_NEW,
                   FILE_ATTRIBUTE_NORMAL |
                   FILE_FLAG_OVERLAPPED,
                   NULL);
    CloseHandle(hFile);
    WriteProfileSection("player",PLA_PIN);
    char nextid[10];
    GetPrivateProfileString("tmp","nextid","0",nextid,sizeof(nextid),"C:\\aProgramms\\aRPG\\DataFiles\\tmp.ini");
    char nextlog[10];
    GetPrivateProfileString("tmp","nextlog","",nextlog,sizeof(nextlog),"C:\\aProgramms\\aRPG\\DataFiles\\tmp.ini");
    WritePrivateProfileString("player","id",nextid,PLA_PIN);
    WritePrivateProfileString("player","player",nick,PLA_PIN);
    WritePrivateProfileString("player","pass",pass,PLA_PIN);
    WritePrivateProfileString("player","name","",PLA_PIN);
    WritePrivateProfileString("player","level","1",PLA_PIN);
    WritePrivateProfileString("player","experience","0",PLA_PIN);
    WritePrivateProfileString("player","sexe","0",PLA_PIN);
    WritePrivateProfileString("player","class","0",PLA_PIN);
    WritePrivateProfileString("player","speed","2",PLA_PIN);
    WritePrivateProfileString("player","log",nextlog,PLA_PIN);
    WritePrivateProfileString("player","speciality","0",PLA_PIN);
    WritePrivateProfileString("player","race","0",PLA_PIN);
    WritePrivateProfileString("player","cforce","5",PLA_PIN);
    WritePrivateProfileString("player","cresistance","5",PLA_PIN);
    WritePrivateProfileString("player","cdexterite","5",PLA_PIN);
    WritePrivateProfileString("player","cintelligence","5",PLA_PIN);
    WritePrivateProfileString("player","csagesse","5",PLA_PIN);
    WritePrivateProfileString("player","cattaque","5",PLA_PIN);
    WritePrivateProfileString("player","currentplace","0",PLA_PIN);
    WritePrivateProfileString("player","currentnick","0",PLA_PIN);
    WritePrivateProfileString("player","currenthost","0",PLA_PIN);
    WritePrivateProfileString("player","currentaddress","0",PLA_PIN);
    WritePrivateProfileString("player","clan","0",PLA_PIN);
    WritePrivateProfileString("player","fights","0",PLA_PIN);
    WritePrivateProfileString("player","fates","0",PLA_PIN);
    WritePrivateProfileString("player","objects","0",PLA_PIN);
    WritePrivateProfileString("player","hfb","0",PLA_PIN);
    WritePrivateProfileString("player","pright","0",PLA_PIN);
    WritePrivateProfileString("player","pdead","0",PLA_PIN);
    WritePrivateProfileString("player","pdwbl","0",PLA_PIN);
    WritePrivateProfileString("player","pdpb","0",PLA_PIN);
    strcat(PLA_BIN,nick);
    strcat(PLA_BIN,"\\BAG.INI");
    hFile = CreateFile(TEXT(PLA_BIN),
                   GENERIC_WRITE,
                   0,
                   NULL,
                   CREATE_NEW,
                   FILE_ATTRIBUTE_NORMAL |
                   FILE_FLAG_OVERLAPPED,
                   NULL);
    CloseHandle(hFile);
    WriteProfileSection("player",PLA_BIN);
    WritePrivateProfileString("player","head","0",PLA_BIN);
    WritePrivateProfileString("player","righthand","0",PLA_BIN);
    WritePrivateProfileString("player","lefthand","0",PLA_BIN);
    WritePrivateProfileString("player","feets","0",PLA_BIN);
    WritePrivateProfileString("player","chest","0",PLA_BIN);
    WritePrivateProfileString("player","rightfingers","0",PLA_BIN);
    WritePrivateProfileString("player","leftfingers","0",PLA_BIN);
    WritePrivateProfileString("player","neck","0",PLA_BIN);
    WritePrivateProfileString("player","bagpl1","0",PLA_BIN);
    WritePrivateProfileString("player","bagpl2","0",PLA_BIN);
    WritePrivateProfileString("player","bagpl3","0",PLA_BIN);
    WritePrivateProfileString("player","bagpl4","0",PLA_BIN);
    WritePrivateProfileString("player","bagpl5","0",PLA_BIN);
    WritePrivateProfileString("player","bagpl6","0",PLA_BIN);
    WritePrivateProfileString("player","bagpl7","0",PLA_BIN);
    WritePrivateProfileString("player","bagpl8","0",PLA_BIN);
    WritePrivateProfileString("player","bagpl9","0",PLA_BIN);
    WritePrivateProfileString("player","bagpl10","0",PLA_BIN);
    return true;
    }
    else
    {
    return false;
    }
}


l'appel au milieu du code:

            if (!player_exist(nick))
            {
                if((password == "") || (nick == ""))
                {
                //
                }
                else
                {
                if(player_add(nick,password))
                {
                    //
                }
                else
                {
                    //
                }
                }
            }

Merci d'avance ;)



I'm a killing Master
lundi 4 avril 2005 à 18:31:18 | Re : Petite erreur désagréable

BruNews

Administrateur CodeS-SourceS
if(CreateDirectory(PLA_DIR,NULL))
    {
    strcat(PLA_PIN,nick);
......
NON, on ne chaine rien sur une constante.

ciao...
BruNews, MVP VC++
lundi 4 avril 2005 à 19:16:42 | Re : Petite erreur désagréable

DakM

merci tres gentil a toi mais jvois pas ou tu vois const :/
PLA_DIR n'est quun char !

I'm a killing Master
lundi 4 avril 2005 à 19:27:15 | Re : Petite erreur désagréable

bayeto

Membre Club
C'est plus qu'un char c'est un char* : il contient l'adresse d'une chaine. Or un strcpy/cat est invalide car l'espace reservé est bien constant ("Players\\").
Prevois un buffer plus vaste.
lundi 4 avril 2005 à 19:38:10 | Re : Petite erreur désagréable

DakM

si tu pourrais mdire comment on fait stp :/

I'm a killing Master
lundi 4 avril 2005 à 22:40:20 | Re : Petite erreur désagréable

bayeto

Membre Club
Réponse acceptée !

Il faut un buffer assez large pour stocker une chaine.
char
PLA_DIR[0xff];

*PLA_DIR = 0; //chaine vide
strcpy(PLA_DIR,"Players\");
/*...*/
strcat(PLA_DIR,nick);

lundi 4 avril 2005 à 23:27:47 | Re : Petite erreur désagréable

DakM

MERCI <3<3

I'm a killing Master


Cette discussion est classée dans : bin, player, writeprivateprofilestring, pin, pla


Répondre à ce message

Sujets en rapport avec ce message

Problème avec traitement de fichier (cplusplus !) [ par Sianrin ] Voila, j'explique mon problème. Pour voir un peu comment les accès au fichiers se géraient en cplusplus, je me suis mis en tête de faire un programme WritePrivateProfileString avec une variable [ par mavric ] Salutje veux cree un fichier ini pour sauvegarder le paramatrage d'un prog ,mais je n'arrive pas a ecrire le contenu d'une variable car WritePrivatePr WritePrivateProfileString avec une variable help!!!!! [ par mavric ] salut bon je dois cree un fichier ini,pour sauvegarder les param d'un prog Pour ca j'utilise les fonctions WritePrivateProfileString et getPrivateProf Compilateurs [ par cognac ] J'ai acheté un livre «l'intro C++» he oui je suis nouveau. J'ai intallé le compilateur fourni avec le livre (cd). Mais j'obtien le message suivant:C:\ Celle-là, je suis sûr qu'on vous la jamais posé [ par Fantome219 ] j'ai mis tous les includes et les libs de gtk+ et tout le bordel, toutes les dll qu'ils m'ont demandé dans le dossier système. A la fin de la compilat conversion decimal en binaire sans connaitre la taille du nombre [ par kobee12 ] Est ce que quelqu'un pourrait m'aider. Voici un algo qui convertit un nombre biaire en decimal : bin_digits est defini avec une taille de 10. Or j'aim conversion decimal binaire sans connaitre la taille du nombre [ par kobee12 ] Est ce que quelqu'un pourrait m'aider. Voici un algo qui convertit un nombre binaire en decimal :bin_digits est defini avec une taille de 10. Or j'aim Probleme avec mysql_real_connect() [ par xav42 ] Bonjour!!!!Bin ouai, c'est encore moi lolN'empeche que je suis content car j'ai bien avancé grace a vous.Voila mon probleme: tout marque bein de chez Windows Media Player Simulation Unicast [ par ordy ] BonjourJ'aurais besoin de savoir si quelqu'un c'est comment stocker un flux unicast sans lancé le lecteur Windows Media ?Je dois reussir a stocker un Comment lire sur le DSR [ par Xentor609 ] Salut,J'ai un montage électronique qui est branché sur le Port COM, plus précisement sur le pin DSR.Voici le montage: http://ccool44.free.fr/article.p


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales