Pb strcat

poseidon2 Messages postés 36 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 12 août 2003 - 6 août 2003 à 17:28
poseidon2 Messages postés 36 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 12 août 2003 - 7 août 2003 à 16:39
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. :)

9 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
6 août 2003 à 18:25
ben dans le 1er cas faut ecrire la totalite des donnees, 3eme param de WriteFile.
BruNews, ciao...
0
poseidon2 Messages postés 36 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 12 août 2003
7 août 2003 à 10:51
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........
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 août 2003 à 11:05
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...
0
poseidon2 Messages postés 36 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 12 août 2003
7 août 2003 à 11:20
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
0

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

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 août 2003 à 11:25
memcpy(ptrDest, ptrSrc, len);
place correctement ptrDest et ira bien.
Par contre recopier tout cela est contre performant, vaudra mieux 2 WriteFile.
BruNews, ciao...
0
poseidon2 Messages postés 36 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 12 août 2003
7 août 2003 à 11:43
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?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 août 2003 à 11:47
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...
0
poseidon2 Messages postés 36 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 12 août 2003
7 août 2003 à 11:50
Ok merci bien pour toute ton aide. Ca devrait(je dis bien devrait) marcher.
0
poseidon2 Messages postés 36 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 12 août 2003
7 août 2003 à 16:39
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.....
0
Rejoignez-nous