char ポインターを unsigned char var に変換したいのですが、キャストするだけでできると思っていましたが、うまくいきません。
char * pch2;
//Code that puts something in pc2
part1 = (unsigned char) pch2;
私はこれにコードを持っています:
result.part1 = (unsigned char *) pch2;
printf("STRUCT %s\n",result.part1);
結果は、unsigned char 配列を持つ単なる構造体です。
編集:
pch2 = strtok( ip, "." );
while( pch2 != NULL ){
printf( "x %d x: %s\n", i, pch2 );
pch2[size-1] = '\0';
if(i == 1)
result.part1 = (unsigned char *) pch2;
if(i == 2)
result.part2 = (unsigned char *) pch2;
if(i == 3)
result.part3 = (unsigned char *) pch2;
if(i == 4)
result.part4 = (unsigned char *) pch2;
i++;
pch2 = strtok (NULL,".");
}
printf("STRUCT %c\n",result.part1);
構造:
typedef struct
{
unsigned char part1;
unsigned char part2;
unsigned char part3;
unsigned char part4;
} res;