2012-04-06 4 views
0

저는 직장을위한 GUI 애플리케이션을 만들기 위해 Qt를 사용하는 학생 프로그래머입니다. 이 응용 프로그램의 주된 목적은 이전 스타일 파일 중 일부를 열고 더 나은 편집을 허용 한 다음 파일을 새로운 형식과 파일 확장명으로 저장하는 것입니다. 최근에 나는 터미널에서이 변환을 허용하도록 요청 받았다. 내가 argv와 argc가 무엇을 나타내는지를 알고있는 동안, 나는 그들이 원하는 것을 성취하는 방법을 확신 할 수 없다. 예를 들어 상대적 경로와 상대 경로를 처리하는 방법 ... 상대 경로로부터 절대 경로를 얻는 방법; 아마도 그것도 필요하지 않습니다. 내 프로그래밍 경험은 주로 guis와 함께하기 때문에 이것은 나에게 조금 새로운 것이다.argv와 argc 빌드

사용자는 내가 루프를 사용하기 시작 터미널

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

에서 실행되어야하는 다음 싶습니다 문은 내가이 모든에 worng 접근 방식을 복용 할 수도 relized 때 달성을 시작하는 경우 . 나는 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

뛰어난 마틴을 볼 사용해야합니다! 여기 올바른 코스에서 나를 설정해 주셔서 감사합니다! –

관련 문제