Qtにおける経路問題の一般的な解決方法

807 ワード

Qtにおける経路問題の発生は一般的にプラットフォーム間でコンパイルされる際に発生し,異なるシステムの経路に対する表現が異なるため,あるシステム上で順調に実行されるコードが別のシステム上で実行できず,エラーさえ発生する現象をもたらした.
 
私が直面した問題はlinux上で良いコードを実行して、windowsの下に移植する時、エラーです.
 
ここでは主にスラッシュと反スラッシュ,異なるシステムによる経路の解析の違いによるものである.
 
1、スラッシュと反スラッシュ:
ネット上の解決方法:
QString path = "C:/testA\\testB\testC.txt";
QString tmpPath;
if(path.contains("\\"))
{
     tmpPath = path.replace("\\","/",Qt::CaseInsensitive);
}
if(tmpPath .contains("\\"))
{
     tmpPath = tmpPath .replace("\\","/",Qt::CaseInsensitive);
}

2.一般的な方法.(強くお勧め!)
 
QString path ;

path = "E:/file1/file2/file3.txt";

path = QDir::toNativeSeparators(path);

//          。       。