String 通过向webcore中的字符串::utf8().data()分配指针获取错误数据

String 通过向webcore中的字符串::utf8().data()分配指针获取错误数据,string,webkit,variable-assignment,String,Webkit,Variable Assignment,webkit插件的函数,该插件具有字符串类型参数,如下界面所示 int-handleString(字符串str) 我在函数中编写了如下代码 const char*data=str.utf8().data() 并尝试按如下方式打印数据。 printf(“数据=%s\n”,数据) 下面也做 printf(“str=%s\n”,str.utf8().data()) 但是,我在2号印刷品中看到了不同。数据指向修改了前几个字节的字符串 有人能告诉我为什么吗?谢谢。使用printf打印是安全的,可以使用st

webkit插件的函数,该插件具有字符串类型参数,如下界面所示
int-handleString(字符串str)

我在函数中编写了如下代码
const char*data=str.utf8().data()
并尝试按如下方式打印数据。
printf(“数据=%s\n”,数据)
下面也做
printf(“str=%s\n”,str.utf8().data())

但是,我在2号印刷品中看到了不同。数据指向修改了前几个字节的字符串


有人能告诉我为什么吗?谢谢。

使用printf打印是安全的,可以使用str.ascii().data()。

我也面临同样的问题。 不知道为什么前8个数字是混乱的

无论你通过什么,只有前8个字符丢失。Rest字符串似乎与正常情况一样

能够通过使用STRDUP api解决此问题