2013-02-17 2 views
0

나는 최근에 C++에서 winapi를 실험하기 시작했습니다. 지금까지 잘 지내고 있습니다.C++ Winapi. 파일의 첫 줄을 읽고 텍스트 상자에 표시

그러나 파일의 첫 번째 줄을 읽고 텍스트 상자에 표시하는 방법을 찾는 데 문제가 있습니다.

일부 Google 검색 후 일부 사람들은 이것을 위해 winapis 기능을 사용하는 것이 좋습니다. 반면 다른 fstream 사용은 간단합니다. 나는 fstream 길을 갔다. 그러나 나는 약간의 문제 (아마 매우 어려운 아무것도 제외하고)에 달하지 않는다. 그러나 나는 그것에 대한 대답을 발견 할 수 없다!

string line; 
ifstream filen ("tid.txt"); 
if (filen.is_open()) 
    { 

    getline (filen,line); 
    cout << line << endl; 
    filen.close(); 
    } 

    SetDlgItemText(hwnd, IDC_MAIN_EDIT, line); 

이 컴파일러에서 나에게이 문제를 줄 :

이 내 코드 변환의

Cannot convert `std::string' to `const CHAR*' 

이 필요하십니까 였을 여기지만, 무엇을 잘 모릅니다.

당신은 어떻게 생각하십니까?

+0

가능한 중복 [LPCSTR하는 표준 : : 문자열로 변환하는 방법?] (http://stackoverflow.com/questions/1200188/how-to-convert-stdstring-to -lpcstr) – WhozCraig

답변

1

이 시도 :

SetDlgItemText(hwnd, IDC_MAIN_EDIT, line.c_str()); 
+1

또는이 SetDlgItemTextA (hwnd, IDC_MAIN_EDIT, line.c_str())를 시도하십시오; – Unick

+0

와우! 빠른 답변 주셔서 감사합니다! 그것은 확실히 일했다. 이 차이점을 설명해 주시겠습니까? 그냥 이해할 수 :) – 540

+0

c_str() 메서드는 0으로 끝나는 문자 시퀀스를 포함하는 배열에 상수 포인터를 반환합니다. 즉, std :: string 객체로 래핑 된 C 문자열을 얻습니다. – kol

관련 문제