1、C这么灵活,通常不用转。
char a[1024]="hello world!";2、强行转需要复制,浪费一倍内存。
#include<string.h>就是想问字符串怎么转成字节数组
追答char []就是字节数组。
关键你要干什么?要字节数组来干什么?
遇到的问题是
我用fread读一个图片保存在一个char a[]里面,然后要把这个传到xml里面,可是xml不能识别某些特殊字符,我就想着把传的时候都转成二进制,可是我不会把字符串转成二进制,求解
哦,读取图片肯定有一些byte不是可打印的字符,本来就是二进制的,不是字符串转二进制的问题。xml是文本文件,不能保存也不能显示不可打印的字符。你可以存储成16进制的数字串,比如你图片读出来的是 9A7BC3,你就保存这样的字符串"9A7BC3"在xml里面,不是直接保存就行的,你要把9A这个字节转换成'9'和'A'的ASCII码
追问fread读图片的时候就是字符串,怎么弄成16进制的数字串啊,不会
追答存在char数组里的不一定就是字符串,任何二进制数据都可以存储在char数组里面。
void tohexstr(char c, char* str) {大体是这个意思,具体还有很多细节你自己慢慢搞吧
本回答被提问者采纳