土曜日, 4月 22, 2017

文字列変換:変換文字列をそれぞれ指定する

学校で習うような複雑なアルゴリズムを使う機会ってのは実際ほとんどないですね。

クイックソートを実装するなんてのはまずない。あれを一発で通せなんていう無茶な要求がありましたよね。ハノイの塔とか。

複雑であればライブラリを使う。

それでも多少は面倒なときもあります。

文字列を分割するとか。

これ、特定の文字列を変換するコードです。全ての文字列を単変換ならライブラリがありますが、各変換ごと数値を当てはめるとかカスタマイズするとなるとやっぱり書かざるを得ない。

public String replaceParam(String str, String[] list) {
String res = "";
int index = 0;
int count = 0;
int prev = 0;
while ((index = str.indexOf('?', index)) != -1) {
if (count < list.length) {
if (prev < index) {
res += str.substring(prev, index);
}
res += list[count];
count++;
}
index++;
prev = index;
}
if (prev < str.length()) {
res += str.substring(prev);
}
return res;
}

Qt: 外部プログラムを起動する

  Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...