2009-06-17 12 views
6

मुझे पता है कि GetCurrentDirectory() और SetCurrentDirectory() फ़ंक्शन एमएफसी फ्रेमवर्क पर मौजूद हैं, लेकिन मेरे पास मेरे एप्लिकेशन में CFtpConnection ऑब्जेक्ट नहीं है। मेरे पास एक सरल CWinApp- व्युत्पन्न कक्षा है, और मैं प्रोग्राम स्टार्टअप पर अपनी कार्यशील निर्देशिका पुनर्प्राप्त करना चाहता हूं। इस लक्ष्य को प्राप्त करने का सबसे आसान तरीका क्या है? सलाह के लिए अग्रिम धन्यवाद।एमएफसी: GetCurrentDirectory फ़ंक्शन

+0

देखें http://msdn.microsoft.com/en-us/library/aa364934(VS.85).aspx ... के साथ है या नहीं, आप एक CFtpConnection वस्तु है कोई लेना देना नहीं। – ChrisW

+0

डुप्: http://stackoverflow.com/questions/875249/how-to-get-current-directory – ChrisW

+0

सामान्य परिस्थितियों में काम करने वाला फ़ोल्डर उपयोगकर्ता एप्लिकेशन डेटा फ़ोल्डर में पाया जा रहा है और एक विशेष API है विशेष फ़ोल्डर स्थान। इसलिए, आपको यह तय करना होगा कि आप कैसे प्रबंधित कर रहे हैं जहां कार्य फ़ोल्डर होगा। –

उत्तर

15

GetCurrentDirectory एक सरल Win32 एपीआई समारोह है, इसलिए सिर्फ इस तरह इसे कहते:

TCHAR currentDir[MAX_PATH]; 
GetCurrentDirectory(MAX_PATH, currentDir); 
+1

एक ही कोड है, लेकिन CString क्लास का उपयोग करना (अपने 'CString' ऑब्जेक्ट के लिए 'रिलीजबफर()' को कॉल करना न भूलें): 'CString curDir; GetCurrentDirectory (MAX_PATH, curDir.GetBufferSetLength (MAX_PATH)); curDir.ReleaseBuffer(); ' – Mar

5

मैं तुम्हें निर्देशिका जहाँ आपके exe फ़ाइल के बजाय वर्तमान निर्देशिका की स्थित है पाने के लिए कोशिश कर रहे हैं मान। यह निर्देशिका वर्तमान निर्देशिका से अलग हो सकती है।

TCHAR buff[MAX_PATH]; 
    memset(buff, 0, MAX_PATH); 
    ::GetModuleFileName(NULL,buff,sizeof(buff));  
    CString strFolder = buff; 
    strFolder = strFolder.Left(strFolder.ReverseFind(_T('\\'))+1);  
+0

exe ​​(या dll) का पथ आवश्यक निर्देशिका नहीं है। जैसे ही आप इस मामले का उपयोग नहीं करते हैं, वैसे ही यदि आप इस समाधान का उपयोग करते हैं तो आप समस्याओं में भाग लेंगे। – Alex

+1

आप किस बारे में बात कर रहे हैं? यह समाधान सिर्फ उस मामले से बचने के लिए है जो मौजूदा निर्देशिका exe फ़ाइल निर्देशिका से अलग है। सवाल पूछा गया कि मूल से पूछा गया। – Gisway

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