visual c++ - Convert all instances of "\" to "\\" in System::String^ and convert to char* -
i have openfiledialog returns filename. want save filename char* can open later using fstream. i'll need replace instances of \ \\ in string.
my tactic doing split system::string^ on every instance of \, , join elements of resulting system::string^ array \\ separating them.
this function have written, seems return blank string when pass string^ contains \.
private: const char* getcharpointer(string^ name){ array<string^>^ words; string^ delimstr = "\\"; array<char>^ delimiter = delimstr->tochararray( ); string^ replacedelim = "\\\\"; words = name->split(delimiter); string^ tidiedname = string::join( replacedelim, words ); label1->text = tidiedname; std::string newname=msclr::interop::marshal_as< std::string >( tidiedname); const char* name_cstr = newname.c_str(); return name_cstr; } i newcomer visual c++ , windows in general appreciate pointers on this. doesn't intellisense doesn't seem work visual studio 2010.
intellisense not provided in vc++ , seems never added vc++. anyway, can use, instead of join, replace.
can see here reference.
look @ simple program [ i'm using windows form application , code under button event handler].
string^ = "hello\\world"; string^ b = a->replace("\\", "\\\\"); //replace \ \\ messagebox::show(a + " -> " + b); if run it, output.
hello\world -> hello\\world i hope 1 need code!
Comments
Post a Comment