2012-02-21 4 views
0

インタフェース int handleString(String str);文字列へのポインタ割り当てによって、誤ったデータを取得:: UTF8を()。webcore

I以下としてストリング型パラメータを有するのWebKitプラグインの機能のデータ()次のように関数にコードを書いた const char *data = str.utf8().data(); そして、以下のようにデータを印刷しようとします。 printf("data = %s\n", data); はまた、私は2印刷に異なる見て、 printf("str = %s\n", str.utf8().data());

下回っんが。データは最初の数バイトが変更された文字列を指します。

なぜ誰に教えてもらえますか?ありがとう。

答えて

0

printfを使用してstr.ascii()。data()を使用して安全に印刷するには、次のようにします。

0

私は同じ問題に直面しました。 最初の8桁が混乱している理由がわかりません。

最初の8文字だけが渡されても、何も失われません。残りの文字列は通常どおりに表示されます。

STRDUP APIを使用して問題を解決できました

関連する問題