मान लेने के लिए स्ट्रिंग स्ट्रिंग को कन्वर्ट करने की कोशिश कर रहा है और इसे std::getline()
फ़ंक्शन में डिलीमीटर के रूप में उपयोग करने की कोशिश कर रहा है लेकिन कोई भी मैटर जो मुझे कंपाइलर करता है मुझे त्रुटि देता है। यह क्या im करने के लिए कोशिश कर रहा है:std :: getline delimiter
std::stringstream ss(s);
std::string item;
std::string delim ="&&=";
int ssize = delim.size();
int newssize = ssize+1;
char del[SSIZE]; // also here when i try gives error
strcpy(del,delim.c_str());
char * delrr[1024] = delim.c_str(); //gives error
while(std::getline(ss,item,delrr)) {
elems.push_back(item);
}
त्रुटि im हो रही हमेशा स्थिरांक चार * रूपांतरण के बारे में है।
error C2440: 'initializing' : cannot convert from 'const char *' to 'char *[1024]'
1> There are no conversions to array types, although there are conversions to references or pointers to arrays
1>.\UT.cpp(179) : error C2780: 'std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &)' : expects 2 arguments - 3 provided
1> d:\Program Files\Microsoft Visual Studio 9.0\VC\include\string(527) : see declaration of 'std::getline'
1>.\UT.cpp(179) : error C2784: 'std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem)' : could not deduce template argument for 'std::basic_istream<_Elem,_Traits> &' from 'std::stringstream'
1> d:\Program Files\Microsoft Visual Studio 9.0\VC\include\string(475) : see declaration of 'std::getline'
1>.\UT.cpp(179) : error C2784: 'std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem)' : could not deduce template argument for 'std::basic_istream<_Elem,_Traits> &' from 'std::stringstream'
1> d:\Program Files\Microsoft Visual Studio 9.0\VC\include\string(475) : see declaration of 'std::getline'
1>.\UT.cpp(179) : error C2782: 'std::basic_istream<_Elem,_Traits> &std::getline(std::basic_istream<_Elem,_Traits> &,std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem)' : template parameter '_Elem' is ambiguous
1> d:\Program Files\Microsoft Visual Studio 9.0\VC\include\string(475) : see declaration of 'std::getline'
1> could be 'char **'
1> or 'char'
अद्यतन:
जवाब मिला: How do I tokenize a string in C++?
http://www.codeproject.com/Articles/23198/C-String-Toolkit-StrTk-Tokenizer
आप शायद * char * delrr [1024] * – Gigi
के बजाय * चार डेलर [1024] * चाहते हैं, कृपया एक कदम उठाएं, और समझाएं कि आप वास्तव में क्या करना चाहते हैं, अंग्रेजी में, किसी भी कार्यान्वयन विवरण का जिक्र किए बिना। –
'const char *' से 'char [1024]' में कनवर्ट नहीं किया जा सकता है अगर मैं * – user63898