2011-08-23 5 views
2

Visual Studio 2010에서/Za (struct ANSI) 컴파일러 플래그가있는 경우에도 다음 코드가 작동합니다.C++ 문자열을 사용하여 fstream 열기

string name = "input.txt"; 

ifstream fin; 

fin.open(name); 

찾을 수있는 모든 문서는 C 문자열을 ifstream :: open에 전달해야 함을 나타냅니다. 이것은 실제로 ANSI입니까, 아니면 Microsoft 확장인가, /Za 플래그 문제입니까?

감사합니다, C++ 11에서

사울

답변

8

, 당신은 직접 문자열을 전달할 수 있습니다. Visual Studio 10에서는이를 지원합니다. C++ 11 이전에는 다음과 같이 할 수있는 C 문자열을 전달해야했습니다.

fin.open(name.c_str());