2010-04-15 34 views
11

İsim ve parametrelerde boşluklarla sistem çağrıları yapamıyorum. Örneğin:Pencereler C sistem çağrısı ile komut satırında

system("c:\\program files\\something\\example.exe c:\\my files\\example.txt"); 

Ben biliyorum her şekilde kaçan denedim ve hiçbir şey çalışır. Ben denedim:

system("\"c:\\program files\\something\\example.exe\" \"c:\\my files\\example.txt\""); 

ve

system("c:\\program^ files\\something\\example.exe c:\\my^ files\\example.txt"); 

Ne iş. Yine de 'c: \ program' yeniden tanımlı bir iç veya dış komut değil

Bu gerçekten beni delirtiyor ... İçlerinde boşluk bulunan parametreleri çağırmam ve iletmem gerekiyor. Kısa gösterimi, girmeyeceğim nedenlerden dolayı kullanamam. Ben 'ile çalıştık

hala. Ben boşluklar etrafında her şeyi etrafında tırnak ve tırnak koyarak denedim ve bu işe yaramazsa çalışmıyor, bunun yerine tırnak "nin tırnak.

Herkes biliyor mu düzgün yapmak için Düzen

cevap

25

:? Tamam, bunu anladım system() çağrı adım atarak: Eğer dahili olarak cmd/cyourinput çağırır gerçeği nedeniyle her şeyi etrafında tırnak ekstra set lazım

Yani bu benim için çalışıyor:

system("\"\"c:\\program files\\internet explorer\\iexplore.exe\" \"www.stackoverflow.com\"\""); 

bir karmaşa Biraz, öyle değil mi?

+0

Ooops Çarpıcı yazıyorum. Sistemle çalışmak için ihtiyacımın sebebi de, _open vb. Kullanıyorum çünkü – myforwik

+0

Düzenlendi - çift tırnakları deneyin. – EMP

+0

+1 Çift tırnak benim için çalışıyor –

İlgili konular