2012-04-06 11 views
0

私は仕事のためのGUIアプリケーションを構築するためにQtを使用する学生プログラマーです。このアプリケーションの主な目的は、以前のスタイルファイルのいくつかを開いて、より良い編集を可能にし、ファイルを新しい形式とファイル拡張子で保存することです。最近私はこの変換を端末から行うように求められています。私はargvとargcが何を表しているかを知っていますが、自分が望むものを達成する方法は不明です。例えば、相対パスと相対パスを扱う方法...相対パスから絶対パスを取得する方法、おそらくそれのどれも必要ではないでしょう。私のプログラミング経験は主にguisのものでしたので、これは私にとっては少し新しいものです。argvとargcを構築する

ユーザーは、私がforループを使用し始め、私はこのすべてにworngアプローチを取るかもしれないとrelizedとき文がこれを達成開始する場合は、次のは、端末

application -o /fileLocation /fileDestination template(to determine new format) 

から走ったことがしたいと思います。私はQTがこれと何か関係があったら本当に興味があります!

int main(int argc, char *argv[]) 
{ 
    if(argc > 1) 
    { 
     for(int i = 0; i < argc; i++) 
     { 
      if(argv[i] == "-c") 
      { 
       QString fileName = QString::fromStdString(argv[i+1]); 
       QString fileDestination = QString::fromStdString(argv[i+2]); 
       QString templateName = QString::fromStdString(argv[i+3]); 
       QFile fileToConvert(fileName); 
       if(fileToConvert.open(QFile::ReadOnly)) 
       { 
       //do stuff 

私のポストを読んでくれてありがとう、あなたは私がこの問題を克服する助けに行ったすべての貢献のために大きな感謝:ここで私が来る始まったものです。

答えて

2

if(argv[i] == "-c")

あなたはそのようなCの文字列を比較することはできません。あなたは
if(argv[i][0] == '-' && argv[i][1] == 'c')

を行うことができますので、あなたは、文字を比較することができますしかし、Qtの中で、あなたははQApplication ::引数を使用する必要がありますObtaining command line arguments in a Qt application

+0

卓越したマーティンを参照してください!ここに正しいコースで私を設定してくれてありがとう! –

関連する問題