Accueil > Forum > > > > Prob Création de plusieurs fichiers
Prob Création de plusieurs fichiers
mardi 24 août 2004 à 17:26:37 |
Prob Création de plusieurs fichiers

malik7934
|
Hello! J'ai un programme qui crée et remplit un fichier texte ainsi: hDestFile = CreateFile("C:/WINDOWS/Temp/this-is-a-temporary-file.crypt",GENERIC_WRITE,NULL,NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(hDestFile == INVALID_HANDLE_VALUE) { delete[] szSrc; CloseHandle(hDestFile); return FALSE; }
|
Après emploi, je fais un closeHandle et tout va bien... Pour des raisons pratiques, j'ai voulu créer deux autres fichiers: Public_Key = CreateFile("C:/WINDOWS/Temp/public_key.crypt",GENERIC_WRITE,NULL,NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(Public_Key == INVALID_HANDLE_VALUE) { delete[] szSrc; CloseHandle(Public_Key); return FALSE; }
Secret_Key = CreateFile("C:/WINDOWS/Temp/secret_key.crypt",GENERIC_WRITE,NULL,NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(Secret_Key == INVALID_HANDLE_VALUE) { delete[] szSrc; CloseHandle(Secret_Key); return FALSE; }
|
Mais ça plante systématiquement! Est-ce que quelqu'un a déjà eu ce genre de problèmes? Peut-être que j'initialise mal mes fichiers... ou peut-être que la vérité est ailleurs  HELP! Thanx, Malik7934
|
|
mardi 24 août 2004 à 17:52:28 |
Re : Prob Création de plusieurs fichiers

youpiyoyo
|
pourkoi tu fais 2 fois createfile sur Secret_Key, 1 suffi
ca a l'air bien, il te di koi le compilo
sinon fais ca a l'ancienne FILE* f1,f2; avec fopen
youpi :)
|
|
mardi 24 août 2004 à 18:12:35 |
Re : Prob Création de plusieurs fichiers

malik7934
|
Salut Youpi,
Ben le compilo il me dit que tout beigne! Mais quand j'exécute mon application, boum, ça bug!
Avec seulement le fichier hDestFile, ça beigne, ensuite si je mets Public_Key et Secret_key, vides (juste créés, c'est tout), ben ça plante! Je me suis demandé s'il y avait un rapport avec un paramètre de CREATEFILE, mais no idea... un problème de concurrence entre processus??? Je sais pô... je sais juste que j'avance pas dans mon boulot à cause de ça :-(
|
|
mardi 24 août 2004 à 18:23:40 |
Re : Prob Création de plusieurs fichiers

Arnotic
|
aulieu de C:/WINDOWS/Temp/public_key.crypt C:\\WINDOWS\\Temp\\public_key.crypt n'aiderai pas ?
@+ Arnotic, Admin CS, MVP Visual C++
|
|
mardi 24 août 2004 à 18:28:17 |
Re : Prob Création de plusieurs fichiers

malik7934
|
Alors là je sais pas (je suis plus dans mon labo là), pis je vois pas la différence! Je peux juste dire que ça marchait très bien avec des "/" pour 1 fichier... mais comme l'informatique c'est un peu une profession de foi, j'essaierai ce que tu me dis demain matin!
Thanx, Malik7934
|
|
mardi 24 août 2004 à 18:32:50 |
Re : Prob Création de plusieurs fichiers

jpthomasset
|
Salut,
A quel endroit ca plante exactement ? Sur le CreateFile ? Il te renvoit un handle invalide ? Si oui, que vaut le résultat de GetLastError() ?
A+, JP.
|
|
mardi 24 août 2004 à 18:42:10 |
Re : Prob Création de plusieurs fichiers

malik7934
|
Non, c'est beaucoup plus subtil que ça:
Dans mon prog, à un endroit je fait des manips sur des chiffres et je dis de stocker les résultats dans hDestFile. Plus loin, d'autres manips que je fais étaient aussi stockées dans hDestFile, mais pour des raisons pratiques, j'ai voulu les stocker dans Public_Key. Donc, j'ai créé le fichier et ai dit à mon prog de stocker mes résultats là. C'est là que ça à commencé à planté. Après avoir passé facilement 2-3h à chercher le bug, je me suis rendu compte que dès que je crée plus qu'un fichier, mon algorithme plante. Pourtant il n'y a aucune variable en commun!
Ensuite, j'ai même essayé d'éliminer tout ce qui devrait être stocké ailleurs que dans hDestFile, tout en créant Public_Key et Secret_Key et en les laissant vies. Résultats: ça plante (mon code). Sans la déclaration de création de ces deux fichiers, ça marche!!!! C'est n'importe quoi non???!!
Maintenant que j'y pense, il y a peut-être un rapport avec la taille des fichiers. Faudra que je regarde ça demain. Mais si en attendant quelqu'un à sous la main un code qui crée deux fichiers et qui y écrit des trucs, ben moi je dis volontiers merci que je puisse faire un double check!
See you, Malik7934
|
|
mardi 24 août 2004 à 21:00:36 |
Re : Prob Création de plusieurs fichiers

jpthomasset
|
Je viens de faire un test, parce que ton truc m'etonne et ca marche sans problème. Ou est-ce que ton code plante ? Est-ce que tu as essayé de debugger ? C'est difficile de savoir ce qui se passe sans savoir ou se situe le plantage. Pour info, voila le code que j'ai utilisé : int main(int argc, char* argv[]) { DWORD dBytesWritten; char *writeBuffer = "Test de données !";
HANDLE hDestFile = CreateFile("C:/WINDOWS/Temp/temp.crypt", GENERIC_WRITE,NULL,NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(hDestFile == INVALID_HANDLE_VALUE) { CloseHandle(hDestFile); return 1; }
if(!WriteFile(hDestFile,writeBuffer,strlen(writeBuffer),&dBytesWritten,NULL)) { printf("Erreur writing to temp\n"); }
HANDLE hDestFile2 = CreateFile("C:/WINDOWS/Temp/temp2.crypt", GENERIC_WRITE,NULL,NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(hDestFile2 == INVALID_HANDLE_VALUE) { CloseHandle(hDestFile2); return 1; }
if(!WriteFile(hDestFile2,writeBuffer,strlen(writeBuffer),&dBytesWritten,NULL)) { printf("Erreur writing to temp2\n"); }
HANDLE hDestFile3 = CreateFile("C:/WINDOWS/Temp/temp3.crypt", GENERIC_WRITE,NULL,NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(hDestFile3 == INVALID_HANDLE_VALUE) { CloseHandle(hDestFile3); return 1; } if(!WriteFile(hDestFile3,writeBuffer,strlen(writeBuffer),&dBytesWritten,NULL)) { printf("Erreur writing to temp3\n"); }
CloseHandle(hDestFile); CloseHandle(hDestFile2); CloseHandle(hDestFile3); return 0; }
|
A+, JP.
|
|
mercredi 25 août 2004 à 08:22:46 |
Re : Prob Création de plusieurs fichiers

malik7934
|
Thanx pour l'exemple, mais le problème persiste: Dans mon code j'ai: ... hDestFile = CreateFile("C:/WINDOWS/Temp/this-is-a-temporary-file.crypt",GENERIC_WRITE,NULL,NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if(hDestFile == INVALID_HANDLE_VALUE) { delete[] szSrc; CloseHandle(hDestFile); return FALSE; } /* Public_Key = CreateFile("C:/WINDOWS/Temp/public_key.crypt",GENERIC_WRITE,NULL,NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); if(Public_Key == INVALID_HANDLE_VALUE) { CloseHandle(Public_Key); return FALSE; }
Secret_Key = CreateFile("C:/WINDOWS/Temp/secret_key.crypt",GENERIC_WRITE,NULL,NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); if(Secret_Key == INVALID_HANDLE_VALUE) { CloseHandle(Secret_Key); return FALSE; } */ ... if(!ReadFile(hSrcFile,szData,dwFileSize,&dwO,0)) { delete[] szSrc; delete[] szData; CloseHandle(hSrcFile); CloseHandle(hDestFile); /* CloseHandle(Public_Key); CloseHandle(Secret_Key);*/ return FALSE; } ... bRet = WriteFile(hDestFile,"PWD1:",5, &dwO,0); ... delete[] szData; CloseHandle(hSrcFile); CloseHandle(hDestFile); /* CloseHandle(Public_Key); CloseHandle(Secret_Key);*/
return bRet; }
|
et tout beigne, aussi longtemps que je laisse les commentaires /*...*/, mais dès que je les enlève (càd que je mets le code de Public_Key et Secret_Key), le programme bug... y a de la magie non? Deux type de bug: Soit leprogramme retourne tout de suite bRet=FALSE, soit il tourne un moment avant de planter sur un WriteFile(hDestFile...) La haine...
|
|
mercredi 25 août 2004 à 08:26:02 |
Re : Prob Création de plusieurs fichiers

malik7934
|
STOP!!!!Je me rends compte que j'arrive à faire planter mon programme (en faisant un effort (  ) avec un seul fichier! Donc je vais d'abord voir ça... Une question de méga-débutant que je suis: comment utilise-t-on le débogueur (VC6)???
|
|
Cette discussion est classée dans : code, file, fichiers, key, closehandle
Répondre à ce message
Sujets en rapport avec ce message
Petit probleme de code en C sur Linux !! [ par UncleShu ]
Je voudrais créer un fichier dans le réperoire personnel d'un utilisateur mais mon code ne marche pas !!#include #include #include #define DIR $HOM
Problème de lecture [ par Hades53 ]
Voila, j'ai fait un code pour lire des fichiers qui marche, mais il y a un petit problème avec la dernière ligne du fichier qu'on veut lire:si la dern
problèeme avec fscanf() [ par xkindool ]
Désolé de poster un message pour si peu mais je n'arrive pas a débugger :/Mon prog ne marche pas, il est simplement censé afficher les lignes d'un fic
faire sans passer par les fenêtres [ par oudkaramla ]
J'ai aussi un autre soucis; j'ai deus codes exemples le premier pour prendre une photo ( à l'aide d'un appareil photo piloté par ordinateur) en format
Besoin de quelques renseignements en C++ [ par F_o_X ]
Bonsoir a tousJe suis nouveau sur se forum, je tiens d'abord a félécité les webmasters du site pour la qualité de celui-ci. Je programme depuis enviro
Difference entre deux fichiers [ par LordBob ]
Bonjour a tous, voila je viens de constater quelque chose de bizar et j'aimerais que m'éclaireriez sur un phénoméne que je viens de constater. en fait
Evenements clavier en local... [ par bdkiller ]
Bonjour tout le monde!Je m'excuse, car il y a pas mal de messages et sources à ce sujet, mais j'ai quand meme un probleme urgent a resoudre...Je suis
Erreurs de compilations bizarres avec Visual C++ 6 [ par VTS_35 ]
Bonjour,G encore des problèmes de compilation avec mon programme. Je me suis rendu compte que le programme allait devenir balaise, alors j'ai décidé d
editer les cellules d'une TStringGrid [ par MLine ]
LO,J'ai permis a l'utilisateur d'éditer la TStringGrid (C++ Builder 5) avec goEditing, et je n'accepte dans les cellules que des 0 et des 1 avec le bo
Code source incomplet en C [ par Sneakito ]
Je suis un débutant, or j'ai un programme assez complexe à réaliser(pour moi), voici ce qu'il doit faire:Remplacer un mot dans une page html (hors bal
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|