私は正常に動作している次のコードを持っています:
//function1 for decoding base64
int base64_decode (const char *base64, char *to) { /*function*/ }
//code which is working
buf_struct tmpbuf;//structure
base64_decode(buffer, (char *)&tmpbuf);
追加の関数が同じことをするのを避けるために、次のように変換したかったのです。
//function2 for decoding base64
char *unbase64(unsigned char *input, int length) { /*function*/ }
//code needs to be modified
buf_struct tmpbuf;//structure
char *unbase = unbase64(buffer, strlen(buffer));
unbase = (char *)&tmpbuf;
しかし、2番目のものは機能しません。
* "char *" を "(char )&"に変換するにはどうすればよいですか?
編集:
char *unbase;
unbase = malloc(strlen(buffer) + 1);
memset(unbase, 0, strlen(buffer) + 1);
//unbase = unbase64(buffer, strlen(buffer));
base64_decode(buffer, unbase);
fprintf(stderr,"unbase: %s\n",unbase);
strcpy((char *)&tmpbuf, unbase);