boost_filesystem का उपयोग करते समय, बूस्ट फ़ाइल नामों में उद्धरण चिह्न जोड़ता रहता है।बढ़ावा :: फाइल सिस्टम उद्धरण चिह्न जोड़ना?
foo.cpp:
#include <iostream>
#include <boost/filesystem.hpp>
int main(int argc, char * argv[])
{
std::cout << argv[0] << std::endl;
boost::filesystem::path p(argv[0]);
std::cout << p << std::endl;
std::cout << p.filename() << std::endl;
return 0;
}
संकलित:
g++ foo.cpp -o foo -lboost_filesystem -lboost_system
आउटपुट:
./foo
"./foo"
"foo"
यह कुछ हद तक अप्रत्याशित, और मेरे मामले में असुविधाजनक है। क्या यह वास्तव में जानबूझकर है, या इस सम्मान में बूस्ट (1.46.1) छोटी गाड़ी का मेरा कुछ पुराना संस्करण है? क्या कोई रास्ता है जिससे मैं उन्हें जोड़ने से बचा सकता हूं?
मैंने प्रलेखन को प्रतिबिंबित किया, लेकिन ट्यूटोरियल से उनके उदाहरण आउटपुट में उन उद्धरण चिह्नों को दिखाते हुए, मुझे प्रबुद्ध नहीं किया गया था।
ठीक है, अगर मैं एम्बेडेड रिक्त स्थान का डर मैं अच्छी तरह से उद्धरण अपने आप को जोड़ सकते हैं हूँ। लॉग आउटपुट में फ़ाइल नाम का उपयोग करने से पहले * उन्हें हटाने के लिए * एक उपद्रव है - और 'replace_all()' वास्तव में मदद नहीं करता है क्योंकि, मस्तिष्क-मृत होने के कारण यह हो सकता है कि एक एम्बेडेड * उद्धरण चिह्न हो सकता है * फ़ाइल नाम में भी। ;-) – DevSolar
ठीक है, लेकिन आप कर सकते हैं कि बग रिपोर्ट क्या सुझाती है: std :: cout << p.filename()। String() << std :: endl; –
मैंने यहां तक कि ऊपर उल्लिखित/उत्तर देने से पहले किया, परीक्षण किया और किया। ;-) – DevSolar