2010-04-15 12 views
11

मैं नाम और पैरामीटर में रिक्त स्थान के साथ सिस्टम कॉल नहीं कर सकता। उदाहरण के लिए:विंडोज सी सिस्टम कमांड में स्पेस के साथ कॉल करें

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

मैं हर तरह से मुझे पता है कि में भागने की कोशिश की है, और कुछ नहीं काम करता है। मैंने कोशिश की है:

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

और

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

न तो काम करते हैं। मुझे अभी भी 'सी: \ प्रोग्राम' एक रिकॉन्ग्नाइज्ड आंतरिक या बाहरी कमांड नहीं है

यह वास्तव में मुझे पागल कर रहा है ... मुझे कॉल करने और उन पैरामीटर को पास करने की आवश्यकता है जिनमें रिक्त स्थान हैं। मैं उन कारणों के लिए संक्षिप्त नोटेशन का उपयोग नहीं कर सकता जिनके बारे में मैं नहीं जाऊंगा।

मैं के साथ 'की कोशिश की है बजाय "उद्धरण के उद्धरण, अभी भी काम नहीं करता। मैं रिक्त स्थान के आसपास पूरी बात के आसपास उद्धरण और उद्धरण डालने की कोशिश की है और वह काम नहीं करता।

किसी को भी पता है कि कैसे इसे ठीक से करने के लिए

उत्तर

25

संपादित करें:? ठीक है, यह समझ से बाहर system() कॉल में कदम द्वारा: आप इस तथ्य है कि वह आंतरिक रूप से कहता है cmd/सीyourinput वजह से पूरी बात के आसपास उद्धरण का एक अतिरिक्त सेट की जरूरत है

तो यह मेरे लिए काम करता है:

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

एक मेस के एक बिट, है ना?

+0

ओउप्स मैं स्लेश से बच रहा हूं। कारण मुझे सिस्टम के साथ काम करने की आवश्यकता है क्योंकि मैं _open आदि का भी उपयोग कर रहा हूं – myforwik

+0

संपादित - डबल कोट्स आज़माएं। – EMP

+0

+1 डबल कोट्स मेरे लिए काम करता है –

संबंधित मुद्दे