2017-03-01 2 views
0

wstring을 txt 파일에서 읽고 싶습니다. 나는 파일 이름을 SourceFileName이라는 변수에 저장하고 wstring을 사용합니다.getline에 오버로드 된 함수의 인스턴스가 없습니다.

112:abc 
221:ghj 
.... 

가 지금은 wstring의 문자열로 txt 파일에서이 숫자와 해당 문자열을 읽고 싶어하지만, 내가 그 일을하려고 할 때, VS가 저를 통지하십시오 txt 파일에서 다음과 같은 문자열을 가지고 std :: getline macthes 인수 목록에 대한 오버로드 된 함수의 인스턴스가 없습니다.

std::wifstream map; 
map.open(SourceFileName.c_str()); 

std::wstring fileID; 
std::wstring fileName; 

std::getline(map, fileID, L":");//error happens here. 

어떻게 고칠 수 있습니까? std::getline(map, fileID, ":");도 시도했지만 작동하지 않습니다. enter image description here

+1

정확한 오류 란 무엇입니까? 악마가 세부 사항에 있습니다. –

+0

컴파일러에서 오버로드에 대한 후보를 제시하지 않았습니까? – user2079303

+0

'std :: getline (map, fileID, L ':');'구분 기호는 문자열이 아닌 문자입니다. –

답변

2

세 번째 인수로 문자열 리터럴을 허용하는 std::getline의 오버로드가 없습니다.

std::getline(map, fileID, L':'); 

힌트 : 컴파일러가 일치하는 오버로드를 찾지 못할 때, 오버로드가 동의 할 인수의 유형을 살펴보고 도움이 구분 기호를 필요로 한 모두 오버로드 문자가 될 수 있습니다.

관련 문제