2016-04-13 14 views
-1

:alınırken hata komut satırı parametresi girmek zorunda benim programı çalıştırmak için

(program name) -s (a number) -f (the file name) 

ben şaşırıp sorun dosya adı string olduğunu ve komut parametreleri char içinde olmasıdır.

if(argc==1){ 
    cout << "Please Enter it in the Form of (prog -s (number of state) -f (file name)\n"; 
} 
if(argc==2){ 
    cout << "Please Enter it in the Form of (prog -s (number of state) -f (file name)\n"; 
} 
if(argc==3){ 
    cout << "Please Enter it in the Form of (prog -s (number of state) -f (file name)\n"; 
} 
if(argc==4){ 
    cout << "Please Enter it in the Form of (prog -s (number of state) -f (file name)\n"; 
} 
if(argc==5){ 

     if((argv[1][0]=='-'&& argv[1][1]=='s')&&(argv[3][0]=='-'&& argv[3][1]=='f')){ 
     int x; 
     x=argv[2][0]-48; 
     state *array; 
     array= create_states(x); 

     ifstream File; 
     File.open(argv[4][0]); 

bu satırda: bir hata alıyorum

file.open(argc[4][0]); 

zaman daha net sorunumu göstermek böylece

İşte benim kodudur.

+2

'if (code.Formatting() == FormattingTypes :: VeryBad) std :: cout <<" Lütfen kodunuzu biçimlendirin! " << std :: endl; ' – ForceBru

+0

bu konuda özür dilerim, düzenleme yapıyordum ve düzenlemeyi bitirdiğimde, birinin çoktan düzenlediğini, kime teşekkür ettiğimi söyledi. – pnewbie

cevap

0

Olmalıdır: Dosya yolu içeriyorsa

ifstream File; 
    File.open(argv[4]); 

Ayrıca, boşluk çift tırnak kullanır.

+0

Teşekkürler, bu aptalca bir hataydı. – pnewbie

+0

@pnewbie hepimizin başına geliyor :) – niceman

İlgili konular