Help plz, attached is my code. Is it a right way to copy unsigned char* to int variable? Thanks in advance...
-fresh

[cpp]
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
void main()
{
int len;
char tmp[1024*8];
unsigned char *ptr, buf[1024*8];
char *s1 = "ACM INTERNATIONAL COLLEGIATE PROGRAMMING CONTEST";
char *s2 = "PROBLEM SET ARCHIVE with ONLINE JUDGE";
// Assign to buffer...
ptr = buf;
memset(buf, 0, sizeof(buf));
len = strlen(s1) + 1;
memcpy(ptr, &len, sizeof(int));
ptr += sizeof(int);
memcpy(ptr, s1, len);
ptr += len;
len = strlen(s2) + 1;
memcpy(ptr, &len, sizeof(int));
ptr += sizeof(int);
memcpy(ptr, s2, len);
ptr += len;
// Read again...
ptr = buf;
memcpy(&len, ptr, sizeof(int)); // Is it a right way to copy
ptr += sizeof(int); // unsigned char* to int variable?
memcpy(tmp, ptr, len);
ptr += len;
printf("%s\n", tmp);
memcpy(&len, ptr, sizeof(int));
ptr += sizeof(int);
memcpy(tmp, ptr, len);
ptr += len;
printf("%s\n", tmp);
}
[/cpp]