안녕하세요, 저는 이미지 비교 소프트웨어 용 GUI를 만들려고합니다. OPENFILENAME이있는 사진을 선택한 다음 ofn.lpstrFile을 사용하여 주소를 가져 와서 해당 이미지에 대한 막대 그래프를 만드는 것이 아이디어입니다.ofn.lpstrFile을 문자열에 올바르게 저장하는 방법은 무엇입니까?
return(ofn.lpstrFile);
내가 주소를 법원 또는 .xml 파일로 작성하고 주소가 올바른지 수 있지만, 나는 그것이 나에게 모든 0을 제공 히스토그램을하려고 할 때 : 그래서 내가 사용합니다. 주소와 같은 행동이 잘못되었습니다.
아이디어가 있으십니까?
내 코드 :
string path=browse(); //getting the string from ofn.lpstrFile
path.c_str();
replace(path.begin(), path.end(), '\\', '/'); //converting backslash to slash also may be the problem
HistCreation(path,root_dir);
와 나는 또한
을 시도void HistCreation(string path,string root_dir) {
Mat img;
img = imread(path); // here if i manually enter the address everything works fine, if I insert the path then loads empty image
.
.
.
char * cstr = new char[path.length() + 1];
std::strcpy(cstr, path.c_str());
는 당신이 북동 전부
문자열 반환을 위해'std :: wstring'을 사용하십시오. 당신이 무엇을하고 있는지 모른다면 포인터를 반환하는 것은 나쁜 생각입니다. –
* 파일 이름 *의 히스토그램을 쓰려고하지 않았습니다. 그렇습니까? – molbdnilo
응답 해 주셔서 감사합니다. @ BarmakShemirani 나는 {wstring 경로 = ofn.lpstrFile} tryed하지만 그것은 말합니다 : LPSTR 문자열, wchar, char, wchar_t 변환 할 수있는 적절한 생성자 당신이 더 구체적인 수 제발? –