« 今後の機能を妄想する | トップページ | 今朝ハマったこと »

2014年6月17日 (火)

QStringからconst char *を取得する

QStringで管理している文字列を古いインタフェースで渡したい時にconst char *に変換する必要がありました。

検索すると以下の様な方法が書かれているページを見つけました。

コンストラクタがCipher(const char *)なのです。QStringで渡して、中で処理しろよというツッコミはあると思いますが。

// bootTime
bootTime = QDateTime::currentDateTime(); // 現在の日時情報を得る

// create cipher 現在の日時情報の文字列を暗号化キーにして暗号化機能を準備する
QByteArray bootTimeStr = bootTime.toString().toUtf8();
cipher = new Cipher(bootTimeStr.constData());

で、あとで「入門Qt4プログラミング」を眺めていたら、qPrintable()というマクロがあると書かれていました。
QStringのインスタンスからconst char *を取得できると…

// bootTime
bootTime = QDateTime::currentDateTime();

cipher = new Cipher(qPrintable(bootTime.toString()));

とシンプルになりました。qPrintable()の中身を見たほうがよいと思うのですが、そこはいつかみてみたいと思います(*^-^)

« 今後の機能を妄想する | トップページ | 今朝ハマったこと »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/2011805/56525958

この記事へのトラックバック一覧です: QStringからconst char *を取得する:

« 今後の機能を妄想する | トップページ | 今朝ハマったこと »

無料ブログはココログ
2017年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30