2017-12-27 10 views
0
int main() { 

    string url; 
    int a; 
    int b = 0; 
    cout << "Enter url: "; 
    cin >> url; 
    cout << "how many times do you want to open the url?: "; 
    cin >> a; 
    while (b<a) 
    { 
     ShellExecute(NULL, "open", url.c_str, NULL, NULL, SW_SHOWNORMAL); 
     b++ 
     } 
     cin >> a; 
     } 

// 부분에 "오픈 부분은 // itShellExecuteW (HWND, LPCWSTR, LPCWSTR 변환 할 수 없습니다 말한다이다 , LPCWSTR, LPCWSTR, INT) ': 인수 2를'const char [5] '에서'LPCWSTR '로 변환 할 수 없습니다.은 인수 2를 변환 할 수 없습니다 'const를 문자 [5]'나에게 문제가 을주고있다 'LPCWSTR'

+2

'ShellExecuteA' 사용'ShellExecute'는 유니 코드를 빌드 할 때'ShellExecuteA' 또는'ShellExecuteW'로 확장되는 매크로입니다. 유니 코드 세트로 빌드해야합니다.) : https://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx –

+2

wstring, wcout, wcin을 사용하십시오. 또는 ShellExecuteA()를 사용하십시오. https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/ –

답변

1

ShellExecute 대신 ShellExecuteA를 호출하면 Windows API에 ANSI 및 유니 코드 버전

+0

감사합니다.하지만이 문제를 해결하려면 어떻게해야합니까? \t 코드 \t 설명 \t 프로젝트 \t 파일 \t 라인 \t 억제 상태 오류 심각도 \t C3867 \t '표준 : : basic_string <문자, 표준 : : char_traits , 표준 : : 할당 > :: c_str – Shotgun