如何访问void字符串的i元素



我有

void *string; // it is array of characters different encodings

我用我的函数读了它,之后我想打印它,很好,它打印得很好。然后我想打印i字符(例如第一个(,我如何访问他?

string=readline();
printf("%sn", string);
printf("%cn", ??? );

我试过了,但不起作用

string=readline();
printf("%sn", string);
printf("%cn", string + sizeof(void *);

如果数据可表示为char,则只需强制转换和取消引用:

printf("%cn", *(char*)string);

或者:

char* str = string;
...
printf("%cn", str[i]);

最新更新