|
hello all,
void *p is structure data and i need to split and copy them to another array.
After 3 byte i need to copy them to other array as i need to send them on tcp socket.
void dumpHex ( void *p, size_t size )
{
//int *list = malloc(n* sizeof(int));
unsigned char *bytes = (unsigned char *)p;
for (size_t i = 0 ; i < size ; i++ )
{
unsigned int b = bytes[i];
if (b>3)
{
printf(" i=%d 0x%02x \n",i,(char*)bytes[i]);
}
}
}
regards
Jalsa
|
|
|
|
|
jalsa G wrote: After 3 byte i need to copy them to other array as i need to send them on tcp socket.
Why? cannot you send the bytes directy?
And...Uhm...What is your question?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
hi sir,
Thanks for the reply
i am sending data over tcp socket so before sending i need to recalculate tcp checksum using md5.
so the structure data has to be split and divided header and data separately.
header is consist of 38 bytes and other data is message data.
so i am trying to split the structure data using below code
#include "stdafx.h"
#include <string.h>
#include <malloc.h>
struct Test
{
int sno;
char name[24];
int rno;
} testexmp;
unsigned long int x;
void dumpHex ( void *p, size_t size )
{
//int *list = malloc(n* sizeof(int));
unsigned char *bytes = (unsigned char *)p;
for (size_t i = 0 ; i < size ; i++ )
{
unsigned int b = bytes[i];
if (b>3)
{
printf(" i=%d 0x%02x \n",i,(char*)bytes[i]);
}
}
}
int main(int argc, char* argv[])
{
printf("size of the test structure is %d \n",sizeof(testexmp));
testexmp.sno=1;
strcpy(testexmp.name,"testsample");
testexmp.rno=10;
//here i split the data but i am unable to store them into other array
dumpHex(&testexmp,sizeof(testexmp));
printf("sno is %d \n",testexmp.sno);
printf("name is %s \n",testexmp.name);
printf("roll no is %d \n",testexmp.sno);
return 0;
}
Jalsa
|
|
|
|
|
jalsa G wrote: i am sending data over tcp socket so before sending i need to recalculate tcp checksum using md5.
Why ? Everything is handled internally so the only thing you have to do is send your structure. Just pass the address of the structure instance to the send function and specify sizeof(Test) as the lenght of the data.
|
|
|
|
|
Hello Cedric,
Everything is handled internally,but the server which receives my data has packet structure format.
so before sending i need to recalculate the packet.
Jalsa
|
|
|
|
|
Hi All,
I am using the API 'MultiByteToWideChar' for converting the ASCII char buffer to unicode. This fails indefinitely on Windows Vista french OS. The API returns the number of characters converted.
Below is the actual text: 'Carte réseau'
After calling the API, the text returned is something like this: Carte r?seau
Please provide your inputs on this.
Thanks for your time.
Regards
Sunil
|
|
|
|
|
BTW, forgot to mention, below are the parameters to the API:
char Description[132] = {0};
char Description[132] = {0};
TCHAR szName[132] = {0};
.
.
.
.
int nLen = MultiByteToWideChar(CP_UTF8, 0, Description, -1, szName, SIZEOF_ARRAY(szName));
// nLen is around 30, the no. of chars copied
Sunil
|
|
|
|
|
This API works fine.
The problem is your machine language may be set to English.
So first set the machine language to French.
Go to Control Panel->Regional and Language options
In both "Regional Options" and "Advanced" tabs selct Frech language.
It will ask you to reboot the machine.
Reboot it and check now.
It will work fine.
Cheers,
Sujeet Pandurang Kumbhar.
modified on Monday, May 25, 2009 2:20 AM
|
|
|
|
|
"é" is an ANSI character (code page 1252), but doesn't have a single character representation in UTF-8.
Please remove your answer because it is 100% wrong.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Thanks Sujeet.
But as you said my system language is already set to French. Not sure why the problem still exists.
Could you think of anything else ?
Thanks
Sunil
|
|
|
|
|
The accented e is a second, third, or fourth byte of a multi-byte sequence for a UTF-8 encoding and thus is invalid as a stand-alone character.
You should likely use 1252 as the code page.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Hello
Thanks for your time.
It is not only this character that is failing, but it definitely fails on Chinese/Japanese as well.
Could you think of anything else ? Also i use a lenevo c200 system, one which i have encountered numerous string errors in my dev life .
Thanks
Sunil
|
|
|
|
|
You have to correctly identify the code page of the original string. You are not. If you have a multi-byte Japanese string using Shift-JIS, you need to use that, not UTF-8. The point is that UTF-8 is a very specific encoding, not just multi-byte in general.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
You are right. We need to identify the appropriate code page and then accordingly use UTF8/ACP.
I think for eastern languages it is UTF8 and for European languages it is ACP.
Thanks a lot for your help.
Sunil
|
|
|
|
|
I need to know if its possible to load a file from hard disk and then
set the quality of jpeg and save the file as a jpeg file
i am using Cximage class and the folowing code
CxImage image;
image.Load("D:\\mypic1.bmp", CXIMAGE_FORMAT_BMP)
if(image.IsValid())
{
image.SetJpegQuality(70);
image.Save("C:\\mypic.jpg", CXIMAGE_FORMAT_JPG);
}
But the code does not seem to work.
Help would be appreciated
Thanks
Thanks to Stuart Dootson and Hamid for making CxImage class work i have now included the header files
but this new problem
Regards
HASSAN
|
|
|
|
|
just a personal advice, why don't you use I Imagemagik library instead of CxImage?
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You
|
|
|
|
|
I have a suggestion for you instead this code
you can use of CImage class(it has good methods for work on images) and its simple and like this:
CImage image;
image.Load(_T("D:\\mypic1.bmp");
....
....
image.Save(_T("C:\\mypic.jpg"));
or
image.Save(_T("C:\\mypic.bmp",Gdiplus::ImageFormatBMP);
Of one Essence is the human race
thus has Creation put the base
One Limb impacted is sufficient
For all Others to feel the Mace
(Saadi )
|
|
|
|
|
Thanks for ur help i have got it working
|
|
|
|
|
Im glad it was helpful.
You can give me 5 vote if you like.
Of one Essence is the human race
thus has Creation put the base
One Limb impacted is sufficient
For all Others to feel the Mace
(Saadi )
|
|
|
|
|
I am trying to use Cximage class in my own visual C++ project.
I am using Visual Studio 2008 Professional Edition
All i want is to read a BMP file from hard disk and save it as a Jpeg file
But when i use the object of the CXimage class upon compiling i get a large
number of error of unresolved external symbols e.g
cximage.lib(ximaraw.obj) : error LNK2019: unresolved external symbol
This repeats for all the tiff,jpeg.... objs
Any One can help me out i am having nightmares using cximage class.
Thanks
Hassan
|
|
|
|
|
Sounds to me like you haven't included all the associated libraries that CxImage uses to read/write the different image formats - they all look to be included in the source.
If that's all you want to do, though, and you're using VS2003 or later, I'd use an ATL/MFC CImage[^].
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Did you import lib file?
Of one Essence is the human race
thus has Creation put the base
One Limb impacted is sufficient
For all Others to feel the Mace
(Saadi )
|
|
|
|
|
I have only imported to cximage.lib file.
As rest of the library files to include i cant find.
I am downloading the linked library files from http://www.xdp.it/cximage/
But after unzipping the files i cant seem to find the ".lib" file of each of the linked libraries
Do i need to compile the downloaded projects if so with what settings
I am using Visual Studio 2008
Thanks
|
|
|
|
|
I have five records in 2D array (w/ pairs, X and y coordinates).
Wants to search position [records already sorted according to y ] and insert weighted number and leave the 2D array sorted.
Please help............
Thanks
|
|
|
|
|
Please elaborate.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|