Pb strcat

Signaler
Messages postés
36
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
12 août 2003
-
Messages postés
36
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
12 août 2003
-
A la compilation tous va bien, le pgm s'éxecute correctemment mais dans le fichier il n'y a quasiment rien d'écris: Le temps(time_h) apparait bien mais les données non

struct _timeb timebuffer;
__int64 time_h;
char *timeChar=(char *)malloc(iLink->tRecvImageBuffers->nSize + 13);
_ftime( &timebuffer );   
time_h = time(&time_image2);
time_h = ((time_h)*1000)+timebuffer.millitm;
_i64toa(time_h,timeChar,10);
//**************************
strcat(timeChar,iLink->tRecvImageBuffers->pImage);
__DBG_LOG("%s",timeChar);
//******Ecriture des donnees dans le fichier****
HANDLE hfl = CreateFile(trame,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
DWORD dWrited;
__DBG_LOG("%s",timeChar);
WriteFile(hfl, timeChar, iLink->tRecvImageBuffers->nSize, &dWrited, 0);
CloseHandle(hfl);


alors que si je fais directement:
_i64toa(time_h,timeChar,10);
WriteFile(hfl, timeChar, iLink->tRecvImageBuffers->nSize, &dWrited, 0);
WriteFile(hfl, iLink->tRecvImageBuffers->pImage, iLink->tRecvImageBuffers->nSize, &dWrited, 0);

c a d sans le strcat mais avec 2 ouvertures de fichier
ca marche d'ou le mystere........
Or j'aimerais n'ecrire qu'un fois dans le fichier(car c'est ce qui est lent).

Voila. :)
A voir également:

9 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
ben dans le 1er cas faut ecrire la totalite des donnees, 3eme param de WriteFile.
BruNews, ciao...
Messages postés
36
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
12 août 2003

J'ai vu que j'avais oublié de rajouter 13 au 3ieme param mais cela ne change rien.

En fait je devrais avoir un truc comme ca:
1060178236062À@ @ cÃ/w±¿­¿ÿzZxg?õY=On˜û[ûÿ»7¿ÿkº]9OÜïdŸª YÙíúzùXíWü®/ê~)Š¬Y÷Øø0> õ`Ä«°Yà—|íUUõX@B‚” €y}H À	0!ù/ËYõ
UÍWâÿF4JWecàPª+ú)òñ(ldÂßʪs±GÖüǹŸÿâ÷ý9Yü`»OÅjoðc ·ÀJÇèø.Ð`B`•AN%HØ£Ð`Y‰ ÒäÇSj-p¿å_TOèó‚,31\²+`Dµ"ªÁˆV%èÉ xêv%?@soP*sg¿¢00_i*&®|%ú	>KŸñ/Ö—/€» SþP­P1 ŠÃ!›Ž?Ê‹?­Â¢ýøútÀ&]âù.ýEàͶöM²|vÜ÷ÀÕH?Î	ö}Så$ÊÃ&’!)ÂÃë·€«ˆ-Ðr¿ªŠ«Ãѹ¥>Òð-h{èDª•WX×(<jF4F Âý••EHã!“`ǁtMÒpzUî·³\Q0ZZŽÆö7ñ{–ÜÆö7öY»ÚÕìZOºüJÖÕ‰TyÿS/¿$ª/õYéøø1 CF<‘ Ä~ÇkxZp{Ú­Š<ƒ—¢^µ»‹ˆ°À/Äß×EÆűª”?éz?á±Ze¡Öuj
j°)>"Xhs=–3*Ä Ì1Ú
f<¬DEüPS«ÍlÆÇp;:Á5OŽ>©Å—…;Dt¶µ@ÂZ_á?o™œhCHËcº#+Q`!sü^sDK„QðoU­ö ¢_ßfsÎÉZ†•Ä8HÜë°Gì~s¯Yßëo:ViCCG¯ÎZÃl JðsSÇïï_km{+\¥•0³)2}L
¡	6U00` Ão~"~'k;,j†wÞ@íË""ÆšŒÝÐZ̍†OÎñ3MρKP¯ážwvÍ“³pTƒüœêjγίõ@Æþ—‹øuZ;2¥­§ÿs)|œð TéWØÀHnî1¥åȁƒüUàbÿfoˆša”‹TvlÖRPR­NÙÛŸ£ø‰YßBß—#ö4
]ÑSýd
VVo‡˜ßŠ7¹­ë>%o«¬ÌénQ¯ëo©úÿ:;Æl—È–ªUñâUxï*ú¯¢õJÀ§çéeß#;¯r²°A€f-xÃaœŠnZ’茬«­)ƒ¯Î¶pgj¬
¢NZîsåT™\µI·R+B
VÓ=ôSJjœ—¥-ÞSç™ÝÁ5ß«íòÀb€àÙà*Ǻ°í¢As1`WŒ±òVªd”× ˆ›ûz:üÙrˆzÞZøœµï
6öÈÈë9ð-¬J)þ%+Ut^Ÿ3¢xìgGŸ¿jP$ÑHêVöÃv÷¢yÿ_ùZ§5(ŸS^ºãA¥ì%Lë~2®ñÙÉ›mgõoe"haöö n#'ö÷µºÆæ|ª+U7Õ áÿ’À0~«ñ:™ðËô+’ƒë_º h0ŸeàÀx @sÜ"eÏìüà** b¿}ðp?-^Ýõ l·æ>“…#GŒ‡ã*À 3Wˆý?ìø9_ÏFî
:,O\lÂ<zÖZ„à‚ÚJ™{;#
±Ó{Ðbÿ¢1%`ª®zxí­àŽ˜˜Pë‹3ÞrxG­EálÖ:ց>Ìß¿°ÕPFRTç‰ý€Ç(G;Q;o2Î sðDËåŠW¹ZIMÅ_ÐQ·z¿7ùN˜êü#Å-hŸ+lWÍZîqGÓÀ¢Ð"N¯µÛJ!mOY«ä ¥~WÊØ8ŸÃ}ª éqz¯ƒ
ùêªÜz§/zÂœRÜãëpZ‹ä?0³¹§pQ_ÇŠz:ŠÿÝŸk@ÃmàÎsÿÄ°/ó±(GÄ<кÎtÌü`Æĝµ‡ÏoÙ+Þ²¹¹ÎF“š]Í"-€­%Ju8Êùz:÷kvw­åÍìV%Õ…é¥ÿˆµcõ¯J VF]+û¿Y®}5Š¥‰çW‰`›ê¿doÍ £Q£µzTÙëÖÒ¢ËÅÌ—‚2kÁê•-6 {“ùª»Ðaÿ\$äôò¬ôÐa<¢w÷@ÔÁXóZ?XþSæòVÓ5ÁˆË¿ü\U²'þ®8‡™°QpG¡©ñÍ’[·ûÜÔC­o׬_Ì1£D——oÖú!ž U?ÅžÚœr‚“4Ë°ÇSyKÛÞ݆lïw§ªøü~_O@1ŸªÀ(Jçà„	-3BŒúQÓ>ƒú ££^øÅ¥àÆÿ	Æn\jÁ…#õ@Æ J©õ`‚zûh1€®à†øŠ£ýÂÛƒ/À(R/‚µñøñDòsGçè1€a—ZxÚ‰©Ôþ‹µ8)ä9à{0< ñ‡Àā‰*ʃ6 `zÁ€ìV#ä€%à1_§ÖAõTOªÃðs@–ø ÂýÀ ^h_…üze(¿àS˜(ü('Á‰/(p0`•s«XʘEw€ú¥ÁUø`u¡Ú`cÿq̃‰ýTX ~¶V™©Í*YfÜWL¬k=õ‚† ÉÒcpY[Ûŵ‡§oYïÚÆRz1_¬p{q 1§s@ÐàòU.¥_ª<—+o<ž£ao1¥+lÜYzJ:þ|Ǻ0‘¶*Tà’?ˆ ÀƒàB.Ìl/}$Ný©Ñɂ΃?U—	Rƒ
=Ybÿ^Ÿzþ* fOþ-i¹Æâ]D+ëžÊ¥‡^óRaâeÑ“oå’ŽFrT±)uQ(Š…²ž%6#fÿðyC5m‚Ë*²SËÅ¢]1¡<ÚÏH‡À3±5>;rûúwÇﳩ‰ÿ ¥ÀGÓÞ°?V€}ò±(„p	_@$vsÓÁÃþ£ÂðaAÀ‡ð`÷£q×àˆX-{ÙØÏÆ`‚ˆCr]Zé`!R¡,ç{™{
Ò¢³€Äþê-..,ÊOŒºYÌ%KO^¥IÒÁdô»ç©|€Áý—sz}ö í_áêsW\2®Õ`STHåÞÒð0\H·qyÞ#x¥[>ðÀ°Ón7|ŽœT=÷ùà:8ì°#îCþãX¡~&Þ ?ÓÅÅËTÝEñOýfeÖùà7]^hìx¥)v?O€a—š¯äasÏѲö&ÆAOû‰D5™0õp|_ö‹•ƒ’ûåq¹ÿXΊzBa«üôF÷±ˆˆàÍž~Äæž®+	~]¢:ê$¯U{Yzýn(èˆ\‹zt6ÓZÉ=J™®¿±dø^ÚJþTû4"úÀÆH9 z!w‰yJÈsí`‰¡…nL,í3@•ÔoS+Y0ìÃÿ4B¢ÄÆwˆKð2 F"ºÑG…MZ’àaAb{>?šOê²ø€_@ã/•*«âÅQÿ=–“wyÞÆöÓzzjX8ì%üKˆZ§ÖÑü€ÈÿT­,u¶N)ºZUZµ[IÞßÃÁXRsbzœ}7A‰ü¢R¢ýY­ƒø©]_¡|Bk·:Åi Æwbß ý”OÁêÀ„^“^ÿ ¡Áåõ2ð1ŸÜß+}T5ŽÔ!ÿ¡YžùO)ÄBt $Â¥êÕ`ê‰üoA€ïX
¡*Œ•0FUâî0_D²Õ*<"XÿØZßþ¯Àf
S/ˆ"@Pþ¡VùØ €åðt
xº-.ˆƒåu/úùã1¯ðCèÄ~}°S!þ?cÒðab+ü-pf3¯Q#ÊÁƒû.ÓįÏ"W,!Ââå\T>žR¡ô(Î节yÈÔÔ¿£g=)"ôC_©N=%ôõ¶OÖ+USçŠmƒG§Z§û.PaÿG`Åÿ8zÀ‚‰ H}ï}”?ýÁß”v)±jÁ—²y ¥ƒqñ5"‘Ißô <0!”_à0àt	Î??»[—?S"ðŽÉá‰Òã”}ŽÀ- ÉÊØÆÐRoDYЈ)‰+J¥ 3s%P8Ý,
y;µ0Õ&b}WÄJjCJü%ÿY.WÆ[÷Sü¹SÞÐPDß“zgöádw¶ïQ?5
°Þ‘
Z°
n­ýOƒ’‘£ÐÚw ÊÊäáM«Øםªo@êU¯FHø›JìOë¿£GíL|)MQØøüz~Ë€ø•¡ú `~UÂåjµO‡¥Ûµ†‡w‹N:©!|ô<”iPò3¿÷ÿV_õ|ÌkÞpèõášNuª{E{iv‹˜<,‘=îzäOx®žá{‡ïíàá_hÐ
ÆOQÙOi?;VaRÁš¹JáÐZ÷·	%’{†o[{“º­}[¥@Ç¡;8u¹ã/œh
 ÝƒÈø˜sC¶Ü;$oã4Ð(š#¯|x¯ÜM­ÿñÖ÷ÖÞ‹²oo"õ”‹Ñ>q¹«- žÝíoüò^@_xÔՐ˜B܍ äpZa®ðnõâµ{»”YÜ뺏ß[ôœOwºŸÉ„\(…?Q­Û‘z²2ñ®4˜©ßáèìyŠ~ËC *6¯.×ôGؘÑë@á(™D‰ZÉ—!,O{DM™š²Ú†²}Þ?ëoþç€


Alors que j'ai ca :

1060245158984À@                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     


Il y a bien les chiffres mais pas le reste. J'avais deja une un pb un peu similaire avec fopen. Il fallait ouvrir le fichier en binaire mais la ce que je comprend pas c'est que ca marche lorsque je separe les chiffre et le buffer mais pas quand les deux sont concaténés........
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
Au fait, quel type de donnees passes tu au strcat ?
Vu le nom, ne serait-ce pas du binaire (image) ?
Si oui le strcat s'arrete au 1er ZERO rencontre car est une macro de copie de CHAINE A TERMINATEUR NULL.
BruNews, ciao...
Messages postés
36
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
12 août 2003

Effectivement. En fait je lui passe un buffer contenant une image codée en binaire.
Donc le strcat ne marche pas. Connaitrais tu un autre moyen de concatener ces fichier?

Merci
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
memcpy(ptrDest, ptrSrc, len);
place correctement ptrDest et ira bien.
Par contre recopier tout cela est contre performant, vaudra mieux 2 WriteFile.
BruNews, ciao...
Messages postés
36
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
12 août 2003

Tu pense que deux writFile serait plus performant qu'un memcpy et un Writfile?
Je pensais que ce qui prenait le plus de ressource étais les acces fichier?
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
Je dis bien pour 2 WriteFile, si plus alors le discours change.
Si la copie buffer est quelques centaines d'octets ok mais une image va generalement bien au dela, en ce cas 2 WriteFile.
BruNews, ciao...
Messages postés
36
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
12 août 2003

Ok merci bien pour toute ton aide. Ca devrait(je dis bien devrait) marcher.
Messages postés
36
Date d'inscription
jeudi 24 juillet 2003
Statut
Membre
Dernière intervention
12 août 2003

J'ai crié victoir trop vite: Maintenant, certaine fois, il ecrit a la place des caracteres seulement des carrés style:

J'ai logué le FileWrite et le CréateFile mais aucun ne me sors une erreur.

De plus j'ai aussi demandé d'afficher le buffer en question mais a chaque fois il me donne les deux premier caractere A@. Je dis biena chaque fois. Pourtant apres c'est des fois remplacé par des carrés dans le fichier.....