QDir::separatorをファイルパスに使うことの問題
Qtではフォルダでの区切り文字を取得するためにQDir::separatorを使うことがあります。
この関数はUnixOS(MacOSを含む)では"/"、Windowsでは"\"を返してきます。
このようにリファレンスには書かれていますがこの関数はフォルダパスの構築には使うべきではありません。
例えばQtで次のようなパスが得られたとします。
C:/tmp/test
このパスにseparatorで新しいパスを作るとします。
QString newPath = testPath + QDir::separator() + "myapp";
こうしてしまうとパスは次のようになってしまいます。
C:/tmp/test\myapp
このようにQtではフォルダの区切り文字にすべて"/"を使っているのでフォルダパスの構築にseparatorを使うのはおススメではありません。
素直に次のように書いた方が無難です。
QString newPath = testPath + "/myapp";
関連項目
© Kaz