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

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Problème d'effacement de tableau en C++ (sans MFC)


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

Problème d'effacement de tableau en C++ (sans MFC)

samedi 11 octobre 2003 à 22:50:43 | Problème d'effacement de tableau en C++ (sans MFC)

Shad0w

Voilà, mon code copie le contenu d'un fichier dans une edit :
-------------
char fil[LEN];
OPENFILENAME ofn;

ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hdlg; //handle de ton appli ou fenêtre
ofn.hInstance = NULL;
ofn.lpstrCustomFilter = NULL;
ofn.nMaxCustFilter = 0;
ofn.nFilterIndex = 0;
ofn.nMaxFile = MAX_PATH;
ofn.lpstrFileTitle = NULL;
ofn.lpstrTitle = NULL;
ofn.Flags = 0;
ofn.nFileOffset = 0;
ofn.nFileExtension = 0;
ofn.lCustData = 0L;
ofn.lpfnHook = NULL;
ofn.lpTemplateName = NULL;
ofn.lpstrFile = fil;
GetOpenFileName(&ofn);

FILE * fp = fopen(fil, "rb");
char * buf[4096];
char tmp[4096];
int nb_read;
while ((nb_read=fread(buf,1,4096,fp))>0){
strcat(tmp, (const char *)buf);
}
fclose(fp);
SetDlgItemText(hdlg,IDC_EDIT1,tmp);
memset(tmp, 0, sizeof(tmp));
memset(buf, 0, sizeof(buf));
----------------
Déjà quand au début du edit se place tout le temps cette chaine : "^ôwÿÿÿÿ7ôw.Ùåw"
je ne sais pas pourquoi.

Ensuite quand je selectionne un autre fichier à charger dans le edit, ça me met le contenu du fichier précédent plus le nouvea, les deux à la suite, je pensais portant avoir nettoyé le tablea avec memset() ! :s

Merci de m'éclairer :)
samedi 11 octobre 2003 à 23:06:44 | Re : Problème d'effacement de tableau en C++ (sans MFC)

BruNews

Administrateur CodeS-SourceS
Pourquoi mixer du win32 et
FILE * fp = fopen(fil, "rb");
emploie CreateFile()
Avec GetFileSize() tu sauras longueur du tampon a allouer et tu aspires en 1 seule passe par ReadFile. Ensuite CloseHandle(). N'oublie pas de mettre un zero au bout du tampon.
BruNews, ciao...


Cette discussion est classée dans : char, sizeof, tmp, ofn, buf


Répondre à ce message

Sujets en rapport avec ce message

PROBLEME POINTEURS [ par zeloveur ] char * saisirChaine(){ int i=0; char *chn; chn=(char *)malloc(sizeof(char)); do { chn[i]=getchar(); chn=(char *)realloc(chn,(++i+1)*sizeof(char)); } jai un probleme avec ma source!!!!! jai vérifeir et je ne trouve rien...pouvez vous m'aider.... [ par retaks666 ] alors jai veut faire un programme ki génére une suite de caractere d'un nombre donné...et sa marche po... je vous done ma source si vous pouvez m'aide problème d'allocation mémoire dans ma classe [ par Bub325 ] Salut, j'ai un problème dans le code suivant au niveau de l'allocation mémoire de tmp.a = new char... dans operator+, et je ne sait pas du tout pourqu Liberation de la mémoire [ par Xentor609 ] Salut,Voici le code qui me pose un pitit probleme:char* fonction(){char* buf=new char[MAX_BUF];//traitement du bufreturn buf;}void MyFunc()< debutant en c, probleme pour un programmme de compression [ par araborgne ] voila donc je cherchais un programme permettant de compresser et decompresser un fichier texte, et image.j'en ai trouver un, mais il est ecrit en c++, Problème avec char* [ par Wiwi ] Bonjour tt le monde, j'ai une tite pro (bidon) avec ce morceau de programme. Lors de sa compilation il n'y a aucune erreur, par contre lors de son exé boîte de dialogue "ouvrir" [ par imanewin32 ] je crée une boite de dialogue avec le code suivant:int CFalEtiCoupeView::dlgFileOpen(HWND hOwner, char* fName, const char* Filter, const char* dlgCapt comment convertir un long en unsigned char ? [ par igorpastis ] voila mon probleme : je doit récupere dans un fichier texte des données. j'ai donc réalisé une fonction que j'apelle à chaque fois que j'en ais besoin vc++ -> vb6 retour de fonctions (c) de type tableau en vb!! [ par matever ] Bonjours à tous!je dispose d'une fonction appartenant à une dll:POINT BUF_TMP[500];//globalPOINT * ENVOIS_BUF_TMP(){ MessageBox( NULL, "Envoi du tabl taille chaine de char [ par langedechu ] Salut , voila mon prob (je sais plus comment faire) :j'ai une variable : const char *buffer; et j aimerais savoir le nombre de caractere stocker dans


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,187 sec (4)

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